1
這是在本地工作的代碼。preg_match,只適用於本地
$str = <<<SSS
<H1 class="prodname">Alison Raffaele Reality Base</H1>Foundation, Skintone 1 - Fairest 1 fl oz (30 m)<p class="tip"><table id="TblProdForkSellCopy" width="100%" border="0"><tr><td class="contenttd"><p>Get full, flawless coverage with this luxurious oil-free formula. Continually refreshes and re-hydrates your skin for 12+ hours - and guards against premature aging by deflecting damaging free radicals. </p></td></tr></table><p></p>
SSS;
preg_match("~</[hH]1>(.+?)<p~",$str,$name) ;
var_dump($name) ;
但是在頁面被實際解析時不起作用。爲什麼?鏈接到page。 我的代碼有什麼問題嗎?我有複製粘貼完全從頁面。 哦,並沒有工作我的意思是它匹配得太多。當本地匹配時,第一個'<p'
不包括在內,但是在我的實際腳本中(當網頁從網上下載時),它包含'<p'
標籤。
感謝
「但是當頁面被實際解析時不起作用」<你到底意味着什麼?解析? – yankee
我的意思是當我試圖用正則表達式解析它。用curl抓取頁面>製作簡單的html dom doc>用正則表達式解析它。 –
請避免使用正則表達式解析HTML,因爲它會[驅動你瘋狂](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 )。改爲使用[HTML解析器](http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)。 –