Php 从文本和html标记中检测并提取图像url
如何检测文本中是否有图像html标记并仅提取图像的url 例如 提取此url:Php 从文本和html标记中检测并提取图像url,php,html,Php,Html,如何检测文本中是否有图像html标记并仅提取图像的url 例如 提取此url: http:// www.someurl.com/somefileprocessor.php/12345/somedir/somesubdir/someniceimage.j pg 来自此标记(此标记可以位于另一组文本和/或html中) 谢谢,这是事先准备好的 ngelo快速尝试一个]*?>/i',$str,$matches); 快速尝试一个]*?>/i',$str,$matches); 您可以使用CRUL获
http://
www.someurl.com/somefileprocessor.php/12345/somedir/somesubdir/someniceimage.j
pg
来自此标记(此标记可以位于另一组文本和/或html中)
谢谢,这是事先准备好的
ngelo快速尝试一个
]*?>/i',$str,$matches);
快速尝试一个
]*?>/i',$str,$matches);
您可以使用
CRUL
获取内容,然后从内容中提取所有img
标记。
要通过curl
获取数据:
preg_match_all('/<img[^>]*?\s+src\s*=\s*"([^"]+)"[^>]*?>/i', $str, $matches);
然后使用正则表达式提取数据
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
这有助于提取所有图像URL(无论是否在img标记中)
如果您需要crawler,您可以使用您可以使用
CRUL
获取内容,然后从内容中提取所有img
标记。
要通过curl
获取数据:
preg_match_all('/<img[^>]*?\s+src\s*=\s*"([^"]+)"[^>]*?>/i', $str, $matches);
然后使用正则表达式提取数据
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
这有助于提取所有图像URL(无论是否在img标记中)
如果您需要crawler,您可以使用非常感谢awnswers,因为我了解了更多PHP。我尝试了这种快速而肮脏的方法,它还提取图像url
^https?://(?:[a-z\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|gif|png)$
非常感谢awnswers,因为我学到了更多的PHP。我尝试了这种快速而肮脏的方法,它还提取图像url
^https?://(?:[a-z\-]+\.)+[a-z]{2,6}(?:/[^/#?]+)+\.(?:jpg|gif|png)$
答案似乎在这里:。答案似乎在这里:。在img和src属性之间应该至少有一个空格。您应该添加一个\s+。这失败了:img和src属性之间应该至少有一个空格。您应该添加一个\s+。这失败了: