【发布时间】:2013-01-02 07:47:13
【问题描述】:
我知道了
$description = '<p>text1</p><p>text2</p><p>text3</p><p>text4</p><p>textn</p>'
我只想删除<p>text3</p>之后的内容
我的结果是:
$description = '<p>text1</p><p>text2</p><p>text3</p>'
我的猜测是我们需要将preg_replace 与一些正则表达式一起使用,但我无法编写一个有效的。
【问题讨论】:
-
快 2013 年了。使用 XML 解析器。
-
永远不要使用正则表达式来解析 XML。您可能会在未来某处……或过去导致某个随机开发人员的精神崩溃。
-
正则表达式可能不是这项工作的最佳工具,但我认为如果您的标记是统一的,那么正则表达式可以工作。你还没有给我们文档的结构,所以很难想出一个正则表达式。我不知道我头顶上的 preg 语法,但是像
((<p>[^<]*</p>){3}).*作为一个组,然后替换为\1 -
@User 如果
p标签未闭合(这是有效的HTML)或包含其他标签,这将非常失败(什么都不做)。
标签: php preg-replace paragraph