Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用preg_replace查找页面上的所有图像_Php_Regex_Preg Replace - Fatal编程技术网

Php 使用preg_replace查找页面上的所有图像

Php 使用preg_replace查找页面上的所有图像,php,regex,preg-replace,Php,Regex,Preg Replace,如何使用preg_replace查找所有图像链接?我很难理解如何实现正则表达式 到目前为止,我所尝试的: $pattern = '~(http://pics.-[^0-9]*.jpg)(http://pics.-[^0-9]*.jpg)(</a>)~'; $result = preg_replace($pattern, '$2', $content); preg_replace,顾名思义,它取代了某些东西。您想使用preg_match_all 另一种从网页中查找所有图像链接的简单方

如何使用preg_replace查找所有图像链接?我很难理解如何实现正则表达式

到目前为止,我所尝试的:

$pattern = '~(http://pics.-[^0-9]*.jpg)(http://pics.-[^0-9]*.jpg)(</a>)~';
$result = preg_replace($pattern, '$2', $content);
preg_replace,顾名思义,它取代了某些东西。您想使用preg_match_all


另一种从网页中查找所有图像链接的简单方法是使用简单的HTMLDOM解析器

//从URL或文件创建DOM

$html = file_get_html('http://www.google.com/');
//查找所有图像

foreach($html->find('img') as $element) 
echo $element->src . '<br>';

这是从任何网页获取所有图像链接的简单方法。

为了更好地理解,请添加示例。。。您当前拥有的一个示例链接和您想要的一个示例链接…正则表达式并不是所有问题的最终解决方案。@NHAHDH是正确的,您应该使用SAX或DOM和XPath。+1。如果您对网页中更复杂的结构感兴趣,那么这绝对是一个不错的选择。
foreach($html->find('img') as $element) 
echo $element->src . '<br>';