📅  最后修改于: 2023-12-03 14:53:26.447000             🧑  作者: Mango
在 PHP 中,有时候我们需要处理一些字符串,其中可能包含有换行符(\n)或回车符(\r),而我们又不希望这些符号出现在我们的字符串中。本文将介绍删除字符串中的换行符的方法。
PHP 中有一个 str_replace 函数,可以完成字符串替换的任务。我们可以使用这个函数来删除字符串中的换行符。
<?php
$str = "hello\nworld\r\n";
$str = str_replace(array("\r", "\n"), '', $str);
echo $str;
//输出: helloworld
?>
在这个例子中,我们使用 str_replace 函数来替换换行符。这个函数接收三个参数。第一个参数是要替换的字符;第二个是替换后的字符;第三个是要替换的字符串。在这个例子中,我们使用一个包含 \r 和 \n 的数组作为要替换的字符,将它们替换为一个空字符串,然后将结果存储在 $str 变量中,最后输出结果。
PHP 中还有一个 preg_replace 函数,可以使用正则表达式来实现字符串的替换。我们可以使用这个函数来删除字符串中的换行符。
<?php
$str = "hello\nworld\r\n";
$str = preg_replace('/[\r\n]/', '', $str);
echo $str;
//输出: helloworld
?>
在这个例子中,我们使用 preg_replace 函数来替换换行符。这个函数接收三个参数。第一个参数是一个正则表达式,用来匹配要替换的字符;第二个是替换后的字符,这里是一个空字符串;第三个是要替换的字符串。在这个例子中,我们使用一个正则表达式 /[\r\n]/,用来匹配所有的回车符和换行符,将它们替换为一个空字符串,然后将结果存储在 $str 变量中,最后输出结果。
总结
在 PHP 中,删除字符串中的换行符有很多种方法,我们可以使用 str_replace 函数或 preg_replace 函数来完成这个任务。以上两个方法都是比较常用的方法,可以根据实际情况选择不同的方法。
当然,这并不是所有的情况都适用,例如:
<?php
$str = "hello\nworld\r\n";
$str = implode(' ', array_filter(explode("\n", str_replace("\r", "", $str))));
echo $str;
//输出:hello world
?>
这种写法会过滤掉换行符并删除符号,然后再把以 ' ' 为字符串拼接输出。