我有下面的代碼,我試圖得到解決。使用正則表達式從網站的HTML源代碼提取內容
代碼:
$pageData = file_get_contents('111234-2.html');
if(preg_match_all('/<a\s+onclick=["\']([^"\']+)["\']/i', $pageData, $links, PREG_PATTERN_ORDER))
print_r(array_unique($links[1]));
return false;
一些樣本HTML,我想它來從:
<a onclick="doShowCHys=1;ShowWindowN(0,'http://www.example.com/home/Player.aspx?lpk4=116031&playChapter=False',960,540,111234);return false;" href="javascript:void(0);">
<span class="vt">Welcome
</span>
<span class="dur">1m 10s</span>
<span class="" id="bkmimgview-116031"> </span>
<br class="clear">
</a>
輸出我得到:
Array ([0] => doShowCHys=1;ShowWindowN(0,)
我希望輸出用於:
Array ([0] => doShowCHys=1;ShowWindowN(0,'http://www.example.com/home/Player.aspx?lpk4=116031&playChapter=False',960,540,111234);return false;)
我該如何做到這一點?
你想匹配什麼? –
此外,您可能會看到一些人對如何不使用正則表達式來解析html進行評論,原因是正則表達式不處理HTML等分層結構。某些html結構可能會混淆你的gegex –