0
我有替換,我想改善從菜單中刪除鏈接。PHP的正則表達式:使鏈接不能在菜單中單擊。刪除鏈接,但保持錨點
$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);
此代碼有效,但我想添加從菜單中刪除其他類型的鏈接。所有與類=「選擇」我嘗試寫正則表達式,它將從頁面中刪除鏈接,但保持錨定。 所以我有正則表達式<a class="selected" href="'.$page.'.html"([^>]+)>([^<]+)<\/a>
哪些不起作用。看起來像.html「和之前的內容匹配的問題。」
鏈接包含標題,並且可以在.html之後解除rel標籤。「所以典型的鏈接:<a class="selected" href="connect.html" title="Email" rel="nofollow">Email</a>
希望你比我更好的PHP正則表達式。
$link = '<a class="selected" href="connect.html" title="Email" rel="nofollow">Email</a>';
echo preg_replace('/(:?href=\")(.+?)(:?\")/', '$1$3', $link);
將輸出:
爲什麼不能http://uk3.php.net/domdocument和http://uk3.php.net/domxpath? – CD001
嘿,cd001。我有工作的解決方案已經只需要正則表達式來推動這件事情。 – Stem