【发布时间】:2019-01-10 00:31:56
【问题描述】:
我在 PHP 中的字符串中有一个 HTML 片段。它是一些 css 文本,后跟一个或多个 p-tag 封闭段落。
.cs2E86D3A6{text-align:center; blarblarblar}<p>First paragraph. Keep this text</p><p>Second paragraph. Keep this text</p><p>Last paragraph.</p>
(恰好是 strip_tags 的结果。)
我想删除<p>First paragraph之前的垃圾文字,剩下的就是p标签里的那些了。
我试过了
preg_replace('@^.*(?=<p>)@','', $mystring)
但它只给了我最后一个<p>Last paragraph</p>。
会告诉教我一个完成任务的正则表达式。
【问题讨论】:
-
stackoverflow.com/a/1732454/477127 TL:DR,使用适当的 DOM 感知解析器
-
完全尊重该建议。我的用例是处理从 Word 机械转换的 HTML(您可能会认为这是一个愚蠢的动机),我只是在清理输出。
标签: php regex html-parsing strip-tags