【发布时间】:2021-04-12 13:55:59
【问题描述】:
我有以下固定模式标记场景
<div class="myclass" id="id123" data-foo="bar">content</div>
<div class="myclass" id="id123" data-foo="bar" >content</div>
<div class="myclass" id="id123" data-foo="bar" data-baz="qux">content</div>
<div class="myclass" id="id123" data-foo="bar" data-baz="qux" >content</div>
我正在尝试解析以下值
id123
bar
qux (if it ever exists)
我能够弄清楚如何获得不同的场景,但我很容易想出一条适用于所有场景的最终规则。
/<div class="myclass" id="(.*)" data-foo="(.*)"(data-baz="(.*)")?>/
我似乎缺少一些基本的正则表达式原则。我尝试了边界和结尾以及空格,但没有运气。
【问题讨论】:
-
对于任何HTML阅读任务,我更喜欢使用DomDocument,你也可以利用DOMXpath来搜索,基本上regex不是一个简单的HTML解析解决方案。抱歉,我没有为您的挑战提供确切的解决方案/示例。
-
正确的 Scuzzy。但是,由于性能原因,我故意避开
DomDocument。 -
这是个好电话:)
标签: php html regex parsing html-parsing