<?php
$string = '\n \n \n \n';
$patterns = '/\n/';
$replacements = '/\\n/';
echo preg_replace($patterns, $replacements, $string);
?>
这段代码似乎不起作用,有关为何发生这种情况的任何建议。它根本不回应任何东西。我可以让它与ereg一起工作,但想要转换为preg。
答案 0 :(得分:1)
PHP文档:ereg has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
无论如何,你的$模式没有正确转义。您需要四个\
- 见下文:
<?php
$string = '\n \n \n \n';
$patterns = '/\\\\n/';
$replacements = '/\\n/';
echo preg_replace($patterns, $replacements, $string); // string(19) "/\n/ /\n/ /\n/ /\n/"
?>
答案 1 :(得分:0)
这里有很多问题......
您是否尝试创建由换行符组成的字符串? '\n \n \n \n'
不是方法,它不起作用。使用"\n \n \n \n"
并阅读有关字符串 here 的PHP官方手册。
您的图案未正确转义。请尝试'/\\n/'
,无论如何我不确定您的版本是否无效。
您'/\\n/'
替换的原因是什么? 请提供输入字符串和所需输出的示例。
如果您尝试转义字符串以将其保存在数据库中,则完全错误。谷歌用于 php数据库转义,并阅读 mysql_escape_string()
(如果您不使用MySQL,则读取相应的内容)。有这样的功能,你必须使用它们。您不能依赖(或没有理由)使用正则表达式对自定义函数进行操作。
答案 2 :(得分:-1)
如果您的意思是\n
成为换行符,则不能使用单引号('),请使用双引号(“)而不是