Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 要在之前插入空格的RegExpr\n_Php_Regex - Fatal编程技术网

Php 要在之前插入空格的RegExpr\n

Php 要在之前插入空格的RegExpr\n,php,regex,Php,Regex,我需要在新行符号之前插入空格,如果还没有。例如,在如下文本中: Some text need space dfgfgfkgkf 在“文本”和“需要”之间插入空格 $pattern = "/[^\s]\n/i"; $replace = " \n"; 但是这个regexp不起作用试试这个: $pattern = "/\n/"; $replace = " \n"; 试试这个: $pattern = "/\n/"; $replace = " \n"; 我尝试了下面的代码,它成功了: $str

我需要在新行符号之前插入空格,如果还没有。例如,在如下文本中:

Some text 
need space dfgfgfkgkf
在“文本”和“需要”之间插入空格

$pattern = "/[^\s]\n/i";
$replace = " \n";
但是这个regexp不起作用

试试这个:

$pattern = "/\n/";
$replace = " \n";
试试这个:

$pattern = "/\n/";
$replace = " \n";

我尝试了下面的代码,它成功了:

$str = "line1\nline2";

echo preg_replace('/\n/',' \n', $str);

我尝试了下面的代码,它成功了:

$str = "line1\nline2";

echo preg_replace('/\n/',' \n', $str);

您确定换行符是\n吗?我会寻求一个更通用的解决方案和使用方法

echo preg_replace('/(?<=\S)(?=\r?\n)/',' ', $str);

我使用正向向后看和正向向前看断言来查找行末尾的位置,因此只需要一个空格作为替换。

是否确定换行符是\n?我会寻求一个更通用的解决方案和使用方法

echo preg_replace('/(?<=\S)(?=\r?\n)/',' ', $str);

我使用一个正向的lookback和一个正向的lookahead断言来查找行末尾的位置,因此,只需要一个空格作为替换。

+1是目前为止唯一一个可以处理前面没有空格要求且允许换行的答案,\n.+1是唯一一个可以处理前面没有空格要求且允许换行的答案,\n。