带有属性的preg_match xml标签

时间:2017-08-03 08:33:03

标签: php regex

我有以下xml:

<property name="quantity">
  <value>0</value>
</property>

我有以下正则表达式:

$xml = preg_replace('/&lt;([a-zA-Z0-9_]+)&gt;/','&lt;<span class="highlight-blue">$1</span>&gt;',$xml);
$xml = preg_replace('/&lt;\/([a-zA-Z0-9_]+)&gt;/','&lt;<span class="highlight-blue">/$1</span>&gt;',$xml);

这些是用蓝色标记标记名称的正则​​表达式。请参阅图片了解结果:

enter image description here

问题是:我需要一个匹配<property name="quantity">的正则表达式。

重要提示:我还需要匹配其他标签,因此不完全是“属性”,“名称”和“数量”,这些可以是其他单词。

1 个答案:

答案 0 :(得分:0)

您可以使用前瞻和后瞻操作符来匹配<>之间的所有内容。例如:

(?<=<)[^<>]*(?=>)