问题是希望有一个preg_replace函数。
我正在格式化一个php为离线复制的面包屑,因此我不得不preg_replace删除部分痕迹。
我有一个看起来像
的面包屑<ul>
<li><a href="mylink1.html">Link 1</a><i class="fa fa-angle-right"></i></li>
<li><a href="mylink2.html">Link 2</a><i class="fa fa-angle-right"></i></li>
<li><a href="mylink3.html">Link 3</a></li>
</ul>
我想要做的是完全删除
<li><a href="#">Link 2</a><i class="fa fa-angle-right"></i></li>
我最初的想法只是str_replace
<li><a href="#">Link 2</a><i class="fa fa-angle-right"></i></li>
没有任何内容,但链接可能会因加载的语言文件而异。
然后我想到了preg_replace url的内容,因为href是常量但是我绝对没有使用PHP的经验,我试过的所有尝试都给出了随机响应。
我希望有人可以帮助preg_replace,或者即使有更好的方法来删除该行。
到目前为止,我已经尝试了
$str = '<li><a href="mylink.php">Link 2</a></li>';
$preg_replace = preg_replace('<li><a href="mylink.php">(.*)','placeholder',$str);
echo $preg_replace;
由于
答案 0 :(得分:1)
您必须绑定正则表达式,通常使用/
。您也可能希望包含结束标记,或者您的正则表达式匹配超出您想要的范围
$preg_replace = preg_replace('/<li><a href="mylink\.php">(.*)<\/a>/','placeholder',$str);
我强烈建议您http://regex101.com/了解有关正则表达式以及如何使其正常工作的更多信息。