我正在尝试使用 REGEX 在保持分隔符的同时拆分字符串。我希望通过锚标签拆分一个非常大且不可预测的字符串。我使用 HTML tidy 来确保标签是正确的,但是任何东西都可能出现在我希望匹配的锚标签之前或之后。
*PRECEDING-ANYTHING*<a *ANYTHING*>*ANYTHING*</a>*PROCEDING-ANYTHING*
*PRECEDING-ANYTHING*<a *ANYTHING*>*ANYTHING*</a>*PROCEDING-ANYTHING*
href URL 可以是任何东西,而诸如“目标”之类的附加属性也可以是任何东西。
我做了很多搜索和测试,要么我做错了,要么 Stack Overflow 上的其他答案不适用。
使用
$parts= preg_split($pattern, $textWithAnchors, -1, PREG_SPLIT_DELIM_CAPTURE)
我希望 $parts 类似于以下内容。
parts[0] is equal to *PRECEDING-ANYTHING*
parts[1] is equal to <a *ANYTHING*>*ANYTHING*</a>
and so forth
正则表达式捕获整个锚标记和其中的所有内容非常重要。
我将非常感谢任何帮助,我特意要求一个可以在 PHP 中完成此任务的正则表达式。我知道有 HTML 解析器,但是在这种情况下使用 REGEX 是最佳的。也许这将是一次学习经历。