【问题标题】:Regular expression - moving content between XML tags [duplicate]正则表达式 - 在 XML 标记之间移动内容 [重复]
【发布时间】:2015-02-18 09:49:26
【问题描述】:

我需要一个在 XML 标记之间移动内容的正则表达式。这是 XML 文件的标记:http://bit.ly/1Gyd1oR

正如您在记录标签中看到的那样,有一个标题和内容标签。现在我想将内容标签中的{title}替换为title标签的内容。

【问题讨论】:

  • 到目前为止,您是否尝试过任何方法来解决您的问题?使用 XML 库来管理 xml 文件通常要好得多。
  • 我已经尝试了几个正则表达式,但我的知识太差,无法修复它。使用正则表达式可能不是最好的解决方案,但我现在并不真正关心这一点。我只是想让它工作..

标签: php regex xml


【解决方案1】:

试试类似的东西:

$pattern = '#(<record[^>]+><title>([^<]+)</title><content><!\[CDATA\[<html><head><title>)\{title\}#';
$result  = preg_replace($pattern, '$1$2', $input)

但是很糟糕 - 考虑改用 XML 库。

原始注释(编辑前):这个正则表达式最初是 Java 风格的 - 我(potame)没有在 PHP 中运行它。

【讨论】:

  • 我逃脱了 但它不起作用。编辑:感谢您的回复,我觉得我们已经非常接近解决方案了!
  • @Dylan:请阅读答案:"try something like" - 这意味着你需要修改它,它只是一个指针。它并不意味着按原样工作。
猜你喜欢
  • 2011-11-14
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多