首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中从字符串中获取html图片标签

问在PHP中从字符串中获取html图片标签
EN

Stack Overflow用户
提问于 2012-04-07 13:58:28
回答 3查看 1.5K关注 0票数 1

我正在尝试从给定的字符串中获取HTML图像标记url。我使用的是PHP方法preg_match("/src=\"([^\s\"]+)/",$body,$matches);,它在大多数情况下都工作得很好,但是我在从以下链接获取url时遇到了问题…

代码语言:javascript
复制
src=http://4.bp.blogspot.com/-LqmY1y4DCO0/T39EoCmzfoI/AAAAAAAACp0/TRKmdPmhJ90/s640/how+to+make+cheesecake+carrots,+orange+cheesecake+recipe,+recipes,+Easter+dessert+.jpg

有人能解释一下失败的原因吗?

EN

回答 3

Stack Overflow用户

发布于 2012-04-07 18:18:42

你的测试字符串在src=后没有“字符,而你的正则表达式需要它,所以它不匹配。如果你想测试你的正则表达式,我建议你使用程序RegexCoach,它会突出显示匹配,并允许你逐步执行匹配过程,这样你就可以很容易地看到它失败的地方。

票数 0
EN

Stack Overflow用户

发布于 2012-04-07 18:31:01

使用DOM加载?

代码语言:javascript
复制
$dom = new DOMDocument();
$dom->loadHTML($var);

$xpath = new DOMXPath($dom);
$img = $xpath->query('//img[@src]');

if(count($img)>0)
{
    foreach($img as $i)
        echo $i->getAttribute('src');
}
票数 0
EN

Stack Overflow用户

发布于 2012-04-07 22:35:04

使用下面的正则表达式尝试一下:)

代码语言:javascript
复制
preg_match_all("/src=([^\\s]+)/", $body, $m);
print_r($a);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10052184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档