我需要在新行符號之前插入空格,如果它尚未。對於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