我有一个字符串,我想在前两个单词之后添加一个换行符:
$string = 'This is my string I want to but cut.
到目前为止,我所知道的是在每两个字之后添加一个换行符,但这不是我想要的……
preg_replace( '~((\w+\s){2})~i', '$1' . '<br>', $string );
最佳答案
函数preg_replace($pattern, $replacement, $subject ,$limit = -1, &$count)提供可选的参数$limit
,默认情况下将其设置为-1
,表示“无限制”。
规范对$limit
说了以下内容:
每个主题中每种模式的最大可能替换
串。默认为-1(无限制)。
因此,将limit参数添加到对preg_replace-function的调用中,以使其仅替换一次:
preg_replace( '~((\w+\s){2})~i', '$1' . '<br>', $strong, 1);
关于php - 如何停止preg_replace替换多次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36176000/