通过php中的preg_replace删除顶部和底部的多行html代码,而不是两个字符串'hello'的中间[重复]

问题描述 投票:0回答:1
$data = '<p>&nbsp;</p> <p>&nbsp;</p> <p>hello</p> <ul> <li>&nbsp;</li> <li>&nbsp;</li> </ul> <p>hello</p> <p>&nbsp;</p> <p>&nbsp;</p>'; $regex = preg_replace('/^((<[a-z]+>)(&nbsp;)(<\/[a-z]+>))/','',$data); $regex = preg_replace('/((<[a-z]+>)(&nbsp;)(<\/[a-z]+>))$/','',$regex); echo $regex;
我只能删除顶部和底部的单行代码,而下一行我无法删除。即使我也尝试过此代码,

$regex = preg_replace('/^((<[a-z]+>)(&nbsp;)(<\/[a-z]+>))*/','',$data); $regex = preg_replace('/((<[a-z]+>)(&nbsp;)(<\/[a-z]+>))*$/','',$regex); echo $regex;

我的确切输出想要这样

<p>hello</p> <ul> <li>&nbsp;</li> <li>&nbsp;</li> </ul> <p>hello</p>

php regex preg-replace preg-match regexp-replace
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.