如何使用PHP使用XPath更改<img/> src

时间:2013-06-02 04:39:34

标签: php xpath

我有

<?php
    echo "<div id='first'>
           <div id='getimg'> 
              <img src = 'mybyk.jpg'/> 
           </div>
          </div>";
?>

我尝试使用xpath更改img src 喜欢 :-

<?php
$doc = new DomDocument();
$doc->load("image.php");
$x = new DomXPath($doc);     
$re = $x->query("/div/img[@src]");
$m = $re->item(0)->SetAttribute("src","MyCar.jpg");
$doc->save("image.php");
?>

这里我尝试使用xpath在img中找到图像src,如果是的话。然后使用我的新图像名称setAttribute src 我成功完成了这个 但是当它完全保存之后,它在我的新image.php中包含了顶线 xml版本如: -
<?xml version="1.0"?>
我不想要这个。
我怎么能删除这个。
为什么它来了。
感谢。

2 个答案:

答案 0 :(得分:0)


/div/img[@src]


但是

/div/div/img[@src] 要么 //div/img[@src] 要么 //div[@id='getimg']/img[@src]

答案 1 :(得分:0)

这个怎么样?

file_put_contents('image.php', $doc->saveXML($doc->documentElement));

saveXML生成一个字符串而不是直接保存到文件,但它允许您指定一个子节点以开始保存。通过指定documentElement(外部div),我们不再保存整个文档,并且不会生成<?xml行。