我需要在新行符号之前插入空格,如果它尚未。对于EX的文字是这样的: '文本' 和 '需要' 之间RegExpr在 n之前插入空格
Some text
need space dfgfgfkgkf
插入空间..
$pattern = "/[^\s]\n/i";
$replace = " \n";
但这个正则表达式不工作
我需要在新行符号之前插入空格,如果它尚未。对于EX的文字是这样的: '文本' 和 '需要' 之间RegExpr在 n之前插入空格
Some text
need space dfgfgfkgkf
插入空间..
$pattern = "/[^\s]\n/i";
$replace = " \n";
但这个正则表达式不工作
试试这个:
$pattern = "/\n/";
$replace = " \n";
我尝试下面的代码和它的工作:
$str = "line1\nline2";
echo preg_replace('/\n/',' \n', $str);
你确定你的换行符是\n
?我会去一个更通用的解决方案,并使用
echo preg_replace('/(?<=\S)(?=\r?\n)/',' ', $str);
我用一个积极的回顾后和积极的预测先行断言,以找到在该行的结束位置,所以也就只有一个空间,需要更换。
+1是迄今为止唯一的答案,它处理“尚未在空间之前”**和**允许除\ n之外的换行符。 – 2012-02-09 21:37:24