【发布时间】:2014-03-27 19:30:30
【问题描述】:
我是新手,我对 PHP str_replace 有一些问题,我需要建议
$a = '<a class="class1 clss2" href="http://www.somedomain.com/page1.php" target="_blank"><p class="myclass">';
我想这样替换html标签
之前:
<a class="class1 clss2" href="http://www.somedomain.com/page1.php" target="_blank"><p class="myclass">
之后:
<p class="myclass"><a class="class1 clss2" href="http://www.somedomain.com/page1.php" target="_blank">
我尝试编码,但 class="..." 和 href="..." 中的动态值有问题
请指教并感谢:)
【问题讨论】:
-
HTML 上的正则表达式可能非常困难,具体取决于它们需要的灵活性。当你说“喜欢”时,哪些部分会有所不同?
-
您应该使用 DOMDocument 或类似的 DOM 操作工具来执行此操作。
-
不要使用正则表达式解析 HTML。使用适当的 HTML 解析模块。 您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。请参阅htmlparsing.com/php 或this SO thread,了解如何使用已经编写、测试和调试过的 PHP 模块正确解析 HTML。
标签: php regex html-parsing