简单的preg_replace替换锚文本

时间:2013-11-19 23:14:11

标签: php regex preg-replace

问题是希望有一个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;

由于

1 个答案:

答案 0 :(得分:1)

您必须绑定正则表达式,通常使用/。您也可能希望包含结束标记,或者您的正则表达式匹配超出您想要的范围

$preg_replace = preg_replace('/<li><a href="mylink\.php">(.*)<\/a>/','placeholder',$str);

我强烈建议您http://regex101.com/了解有关正则表达式以及如何使其正常工作的更多信息。