我正在尝试将服务器上的所有''替换为<BR>
标记,以便单个'不会变成<BR>
。
例:
Hello,'n'nThis is an'nexample.'n'nThanks!
转到:
Hello,<BR>This is an'nexample,<BR>Thanks!
(请注意,未替换单个 ')
当我在 PHP 中执行以下操作时,它不会用中断替换两行:
$str = str_replace("'n'n", "<br />", $str);
您的'n
实际上是'r'n
(这意味着输入来自Windows操作系统),我建议您先使用以下正则表达式将换行符规范化为*nix标准:
$str = preg_replace('~'r'n?~', "'n", $str);
然后,您的原始代码段将起作用(演示):
$str = str_replace("'n'n", '<br />', $str);
你也可以只做:
$str = str_replace("'r'n'r'n", '<br />', $str);
但是,如果输入来自Linux或旧的Mac OS(仅使用'r
),则不起作用。
你需要双重转义你的角色:
尝试:
$str = str_replace("''n''n", "<br />", $str);