我想创建一个正则表达式,它将删除ul / ol li标签之间的所有BR标签。例如:
Test<br>
<ul>
<li>
Test<br>
</li>
</ul>
我想得到这个结果:
Test<br>
<ul>
<li>
Test
</li>
</ul>
我尝试使用此代码:
$param_array['description'] = preg_replace('/(?<=<ul>|<\/li>)([\s*<br>\s*|\s*<br\/>\s*|\s*<br \/>\s*]+)(?=<\/ul>|<li>)/is', "$1$3", $param_array['description']);
$param_array['description'] = preg_replace('/(?<=<ol>|<\/li>)([\s*<br>\s*|\s*<br\/>\s*|\s*<br \/>\s*]+)(?=<\/ol>|<li>)/is', "$1$3", $param_array['description']);
但它不起作用。有人可以帮帮我吗?
答案 0 :(得分:1)
使用str_replace()函数删除
:)
<?php
$html = "Test<br>
<ul>
<li>
Test<br>
</li>
</ul>";
$without_breaks = str_replace(array('<br>', '&', '"'), ' ', $html);
?>
答案 1 :(得分:0)
如何简单地使用CSS: li br {display:none;}