我有一个类似于此的XML文件:
<?xml version='1.0'?>
<page>
<desc><title>user</title><username>user</username>
<petcount>0</petcount>
<pagedt><![CDATA[<html><body><p><center><h2>I am amazing.</h2></center>
</p></body></html>]]></pagedt></desc>
<petlist></petlist><friends></friends><messages><message><user>Admin</user><link>/admin</link>
<note>Welcome to My website!</note></message></messages></page>
我试图让PHP只编辑<pagedt>
中的文本,并有一个textarea显示当前文件中的内容,到目前为止,我有textarea的内容,运行在形式与phpself和通过邮件。关于如何编辑pagedt的内容的任何想法?
答案 0 :(得分:0)
您是否尝试将其解析为XML?我知道PHP的DOM库允许您将其解析为一个对象,您可以使用该对象从那里返回pagedt标记和文本内容。从这里开始尝试:
答案 1 :(得分:0)
假设PHP可以读取和写入文件,您只需要XML parser或regular expression与<pagedt>
的内部内容相匹配,如下所示:
$fcontent=file_get_contents("file.xml");
$content=array();
preg_match("/^(.*<pagedt>)(.*)(</pagedt>.*)\$/", $fcontent, $content);
//do your stuff on $content[2], which contains what's between <pagedt> and </pagedt>
file_put_contents("file.xml", $content[1].$content[2].$content[3]);
您也可以使用strstr
之类的String functions,或strpos
和substr
,而不是正则表达式。但那并不好玩;)