今天,在解决一个项目中的BUG问题的时候,遇到了需要过滤接口返回字段数据中的换行符"\n",这里顺便,需要对php语言中的str_replace()函数进行使用,做一下学习记录。由于原字符串是使用""来进行包裹的,所以,在使用str_replace()替换\n的过程中,不能使用单引号''来包裹需要被替换的原字符串,否则,会导致替换失败,具体的应用过程,可以参看下面的例子:
<?php
$str_origin = "\nabc\n";
var_dump($str_origin);
// 输出:string(5) "
// abc
// "
$str_replace = str_replace('\n', '', $str_origin);
var_dump($str_replace);
// 输出:string(5) "
// abc
// "
// 由于\n两侧使用''来进行包裹,导致替换失败
?>
如果"\n"来作为需要被替换的字符串,则可以成功被替换:
<?php
$str_origin = "\nabc\n";
var_dump($str_origin);
// 输出:string(5) "
// abc
// "
$str_replace = str_replace("\n", '', $str_origin);
var_dump($str_replace);
// 输出:string(3) "abc"
?>