我有一个字符串,我想在前两个单词后添加换行符:
$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
做了如下规定:
The maximum possible replacements for each pattern in each subject string. Defaults to -1 (no limit).
因此,将 limit 参数添加到 preg_replace 函数的调用中,使其仅替换一次:
preg_replace( '~((\w+\s){2})~i', '$1' . '<br>', $strong, 1);
关于php - 如何停止 preg_replace 多次替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176000/