【发布时间】:2014-03-01 13:22:09
【问题描述】:
我对正则表达式非常陌生:我想 preg_match html dom 中的所有元素,它具有数据可编辑属性。这些元素的所有其他属性也应该匹配,所以我可以稍后重用它们:
<div class="teaser" id="teaser" data-editable><p>Content</p></div>
匹配后,我希望那些具有数据可编辑属性的元素具有特定的 css 类并在其中添加另一个元素。所以应该只匹配块级父级。
<div class="teaser editable" id="teaser"><button>edit</button><p>Content</p></div>
这是我得到的:
<(div|p).*(data-editable).[^>]+>(.*?)<\/\1>
我知道,我完全错了——这个也匹配没有设置数据可编辑属性的元素,因为里面有.+。但是如何在不丢失值的情况下匹配不同的属性呢?
【问题讨论】: