我有一些标记,我需要抓取图像,并检查图像是否存在于他们指定的路径中。如果位置A中不存在图像,则应将该路径替换为位置B.
我想知道实现这个目标的最有效方法是什么?
答案 0 :(得分:2)
使用PHP的SimpleXML。它很容易使用。这是一个例子(可能不起作用,但你明白了):
<?php
$document = simplexml_load_file('dah_file.html');
foreach ($document->children() as $child)
{
if !file_exists($child['src'])
{
$child['src'] = 'path/to/image.png';
}
}
print($document->asXml());
?>
答案 1 :(得分:1)
您可以在此处使用正则表达式。创建一个正则表达式以匹配src
标记的<img>
属性,并在Preg_Replace_Callback函数中使用它。
像这样(或多或少的伪代码):
$htmlContent = Preg_Replace_Callback (
'/<img src="(.*)"/is',
function ( $matches ) {
if ( ImageExists ( $matches[1] ) )
return $matches[1];
else
return '/path/to/some/other/image.jpg';
},
$htmlContent
);
您必须提供ImageExists()
功能,以及正确的正则表达式。