什麼是錯的,我創建正則表達式:鏈接內匹配圖像中的正則表達式
$link_image_pattern = '/\<a\shref="([^"]*)"\>\<img\s.+\><\/a\>/';
preg_match_all($link_image_pattern, $str, $link_images);
我試圖做的是符合所有這些他們已在圖像的鏈接。 但是當我嘗試輸出$link_images
它包含的第一個索引中的一切:
<pre>
<?php print_r($link_images); ?>
</pre>
的標記看起來是這樣的:
陣列 ( [0] =>陣列 ([0] = >「
<p> </p>
<p><strong><a href="url">Title</a></strong></p>
<p>Desc</p>
<p><a href="{$image_url2}"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="{$image_url2}" width="569" height="409"></a></p>
但輸出匹配的內容時,它的SIM層返回,像這樣在頁面模式加上所有其他標記相匹配的第一個字符串:
<a href="{$image_url}"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="{$image_url}" width="568" height="347"></a></p>
<p> </p>
<p><strong><a href="url">Title</a></strong></p>
<p>Desc</p>
<p><a href="{$image_url2}"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="{$image_url2}" width="569" height="409"></a></p>")
索引0將包含匹配的表達式 – DevZer0
使用整個字符串DomDocument庫來讀取HTML並獲取其數據。 – Prix
[使用preg \ _match匹配IMG標記的SRC屬性匹配]的可能的副本(http://stackoverflow.com/questions/2180255/matching-src-attribute-of-img-tag-using-preg-match) – Anirudha