因此,我正在構建一個簡單的HTML刮板,在文本中有一些符號圖像,我需要的是獲得這個img標籤的src ,但保留它們與文本中的img標籤相同的位置。PHP使用DOM來提取img src,並保留它在文本中的位置
- 由於我在問錯誤的事情而被重寫的問題。
因此,我正在構建一個簡單的HTML刮板,在文本中有一些符號圖像,我需要的是獲得這個img標籤的src ,但保留它們與文本中的img標籤相同的位置。PHP使用DOM來提取img src,並保留它在文本中的位置
- 由於我在問錯誤的事情而被重寫的問題。
,所以你可以在一個變量中提取圖像的src屬性。在使用下面的代碼後:
$imgsrc = '/Handlers/Image.ashx?size=small&name=3&type=symbol';
$url = parse_url($imgsrc);
$query = htmlspecialchars_decode($url['query']);
parse_str($query, $arr);
echo $arr['name'] . "\n"; // prints 3
嗯,我真的建議使用一個合適的HTML解析庫來做到這一點,但如果它非常簡單,你可以使用像/<img[^>]*alt="(\d+?)"/
左右的正則表達式。
,如果你想獲得name=
部分從src屬性是/Handlers/Image.ashx?size=small&name=3&type=symbol
您由於您使用DOM解析器可以試試這個
<?php
$src = '/Handlers/Image.ashx?size=small&name=3&type=symbol';
$x = preg_replace('/^.*name=([^&]*).*$/i','[$1]',$src);
echo $x;
?>
如果你正在寫一個HTML刮刀,你爲什麼不使用HTML DOM解析器,而不是正則表達式? – Barmar
HTML無法用regExp很好地解析,使用HTML解析器(閱讀http://stackoverflow.com/a/1732454/1529630) – Oriol
請不要使用html遍歷庫以外的任何東西來解析html,這個社區討厭比什麼都重要。 –