我有一个字符串,我想在两个第一个单词之后添加换行符:
$string = 'This is my string I want to but cut.
到目前为止我在每个两个单词之后添加了换行符,但这不是我想要的......
preg_replace( '~((\w+\s){2})~i', '$1' . '<br>', $string );
答案 0 :(得分:4)
函数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);
答案 1 :(得分:1)
将^
模式添加到正则表达式以匹配字符串的开头:
preg_replace( '~^((\w+\s){2})~i', '$1<br>', $strong );