PHP打开文件并替换内容

时间:2012-08-13 05:32:55

标签: php regex fopen file-get-contents fwrite

<?php
$modcontent = file_get_contents('hello.xml');
preg_match("/<Content(.*?)>(.+?)<\/Content/s", $modcontent, $xmlmatches);
$search  = array('<![CDATA[',']]>');
$replace = array('','');
$thenewone = str_replace($search, $replace, $xmlmatches[2]);
fopen('hello.xml');
fwrite($thenewone);
fclose('hello.xml');
?>

嗨,从上面的代码(不起作用)开始,你可以这样做,它会修改那个hello.xml文件,只保留其间的内容,比如在preg_match中吗? hello.xml在这里http://www.google.com/ig/modules/hello.xml。   由于我的PHP和我的英语知识很低,我会用不同的词再次解释,希望你能理解我的意思。我想要一个PHP脚本,它可以打开hello.xml文件,读取Content标签之间的内容,编写该内容并替换文件中的其他所有内容并保存hello.xml文件。因此,在完成所有此操作之后,.xml应仅包含 Hello,world!。 非常感谢!

1 个答案:

答案 0 :(得分:2)

在此尝试使用我的收藏夹DOMDocument

<?php 
$xml = file_get_contents('http://www.google.com/ig/modules/hello.xml');

$dom = new DOMDocument("1.0","UTF-8");
@$dom->loadXML($xml);
$dom->preserveWhiteSpace = false;
//Get the node by tag then get the textContent/nodeValue
$content = $dom->getElementsByTagName('Content')->item(0)->textContent;

//Hello, world! 
print_r($content);
//Write to file
file_put_contents('hello.txt',$content);
?>