我的PHP字符串包含未知数量的br
标记。我只需要保留一个。
开始字符串
$str = 'A line of string data<br><br><br><br>with duplicate br tags in here.';
$str2 = 'Another line with 5 br tags this time.<br><br><br><br><br>New line.';
$str3 = 'When it<br /><br><br />breaks';
结果
$str = 'A line of string data<br>with duplicate br tags in here.';
$str2 = 'Another line with 5 br tags this time.<br>New line.';
$str3 = 'When it<br>breaks';
我的想法
str_replace('<br>', '', $str)
。它不是很好,因为连续的重复标签数量是未知的。<br><br />
答案 0 :(得分:3)
试试这个..
$str = 'A line of string data<br><br><br><br>with duplicate br tags in here.';
echo preg_replace('#(<br\s?/?>)+#', '<br>', $str);
<强>输出强>
A line of string data<br>with duplicate br tags in here.
答案 1 :(得分:0)
这将找到br标记的所有实例,后跟多个br标记。
(<([bB][Rr]\b)[^>]{0,}>(?:<\2[^>]{0,}>){1,})