我試圖從符合特定模式的HTML中提取標籤。目前我使用:PHP正則表達式從html中提取<a>
$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?[^\" >]*?)\\1[^>]*>(.*)<\/a>";
if(preg_match_all("/$regexp/siU", $html, $matches, PREG_SET_ORDER)) {...}
哪個正確地得到所有的元素,但是我想要的3組(該鏈接的文本)包含文本「查找門票」,但我的所有嘗試合併文本(*)。沒有工作。此外,鏈接元素內部html可以包含超過「查找票」 - 也就是說它應該匹配在.*Find Tickets.*
有人可以幫助我在這裏,請我一直沒有得到這個。
更新: 我試圖抓住特定元素的一個例子:
<a href="https://www.facebook.com/l.php?u=https%3A%2F%2Fthelittleboxoffice.com%2Fheritagehotel%2Fevent%2Fview%2F22847&h=RAQFYdp-K&s=1" target="_blank" rel="nofollow" onmouseover="LinkshimAsyncLink.swap(this, "https:\\/\\/thelittleboxoffice.com\\/heritagehotel\\/event\\/view\\/22847");" onclick="LinkshimAsyncLink.swap(this, "https:\\/\\/www.facebook.com\\/l.php?u=https\\u00253A\\u00252F\\u00252Fthelittleboxoffice.com\\u00252Fheritagehotel\\u00252Fevent\\u00252Fview\\u00252F22847&h=RAQFYdp-K&s=1");"><div id="u_0_p">Find Tickets</div></a><
感謝 喬希
你只是想要鏈接文本或'href'值,** **或整個'a'標籤? – hwnd
您能否更新您的帖子以顯示您想要匹配的字符串以及您希望通過匹配獲得什麼? – Quixrick
我主要是在href之後 - 鏈接文本本身是可選的(即,我不打算用它來做任何事情)。 – jb007