【发布时间】:2014-03-21 10:36:26
【问题描述】:
我有替代品,我想改进它以从菜单中删除链接。
$n=extract(
preg_replace(
array(
'/<li><a class="selected" href="post_'.$page.'.html">(.+)<\/a><\/li>/i',
'/<li class="nolink">(.+)<\/li>/i',
),
array(
'',
'<li class="nolink">\\1</li>',
),
compact('topmenu','menu','add','counters')
),
EXTR_OVERWRITE);
此代码有效,但我想添加从菜单中删除其他类型的链接。全部带有 class="selected" 我尝试编写正则表达式,它将从页面中删除链接但保持锚点。
所以我有正则表达式<a class="selected" href="'.$page.'.html"([^>]+)>([^<]+)<\/a>,它不起作用。 .html" 之后和 > 之前的匹配似乎有问题。
链接包含标题,可以在 .html" 之后取消 rel 标签。所以典型的链接:<a class="selected" href="connect.html" title="Email" rel="nofollow">Email</a>
希望你在 php 正则表达式方面比我做得更好。
【问题讨论】:
-
嘿,cd001。我已经有了工作解决方案,只需要正则表达式来改进这个东西。
标签: php regex replace hyperlink anchor