fox*_*gga 2 php wordpress preg-match-all
我有一点问题,因为我的preg_match_all运行不正常.
我想要做的是从wordpress中提取post_content 中所有图像的src参数,这是一个字符串 - 而不是一个完整的html文档/ DOM(因此不能使用文档解析器函数)
我目前正在使用下面的代码,不幸的是它太不整洁,仅适用于1个图像src,我想要来自该字符串的所有图像源
preg_match_all( '/src="([^"]*)"/', $search->post_content, $matches);
if ( isset( $matches ) )
{
foreach ($matches as $match)
{
if(strpos($match[0], "src")!==false)
{
$res = explode("\"", $match[0]);
echo $res[1];
}
}
}
Run Code Online (Sandbox Code Playgroud)
谁可以请帮助...
使用正则表达式来解析HTML文档可能非常容易出错.就像在你的情况下,不仅IMG元素具有SRC属性(事实上,甚至根本不需要是HTML属性).除此之外,也可能是属性值未包含在双引号中.
更好地使用HTML DOM解析器,如PHP的DOMDocument及其方法:
$doc = new DOMDocument();
$doc->loadHTML($search->post_content);
foreach ($doc->getElementsByTagName('img') as $img) {
if ($img->hasAttribute('src')) {
echo $img->getAttribute('src');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
933 次 |
| 最近记录: |