我正在创建动态XML,需要更新服务器上文件中的lastBuildDate。我知道如何做一切,但改变了。
我想我可以使用preg_match来查找表达式,使用preg_replace来替换它。我的字符串将如下所示:
$build_date = '<lastBuildDate>Fri 16 Sep 2011 2:30:15 -6:00 GMT<lastBuildDate>';
如何使用preg_match查找标签内的日期,然后如何更换?对于正则表达式,我是一个菜鸟,这是我认为我必须使用的。我只是不确定如何在该字符串中找到通配符。
感谢。
答案 0 :(得分:1)
我建议您阅读preg_match
和PCRE syntax文档,然后使用RegExr之类的工具来解释您用英语单词编写的正则表达式。这是一个很好的工具。
答案 1 :(得分:0)
乍一看,我觉得你的贴身标签上缺少'/'。我假设应该有一个。
与其他人已经评论过的一样,您应该使用XML解析器。
但是,要回答如何使用preg_replace执行此操作,可以执行此操作:
$build_date = "<lastBuildDate>Fri 16 Sep 2011 2:30:15 -6:00 GMT</lastBuildDate>";
function replacer($matched) {
return "<lastBuildDate>" . strrev($matched) . "</lastBuildDate>";
}
echo preg_replace("/<lastBuildDate>(.*?)<\/lastBuildDate>/me", "replacer('$1')", $build_date);
这将回显xml标记,其中(为了示例)日期字符串被简单地反转。同样,我建议不要使用表达式来执行此操作。