【发布时间】:2013-06-18 13:22:51
【问题描述】:
我正在尝试从网页的源代码中提取一些字符串,如下所示:
<p class="someclass">
String1<br />
String2<br />
String3<br />
</p>
我很确定这些字符串是唯一以单个换行符结尾的东西(
)。其他所有内容都以两个或多个换行符结束。我试过用这个:
preg_match_all('~(.*?)<br />{1}~', $source, $matches);
但它并没有像预期的那样工作。它还会返回一些其他文本以及这些字符串。
【问题讨论】:
-
@Jack:不。这是一团糟。我只想要字符串。它返回更多。
-
不要使用正则表达式解析 HTML。您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。有关如何使用已编写、测试和调试的 PHP 模块正确解析 HTML 的示例,请参阅 htmlparsing.com/php。
标签: php regex html-parsing