gpt4 book ai didi

php - 拆分 html 代码标签和内容

转载 作者:行者123 更新时间:2023-12-04 22:24:31 26 4
gpt4 key购买 nike

有没有比我更了解正则表达式的人知道如何拆分 html 代码,以便所有标签和所有单词都分开,即。

<p>Some content <a href="www.test.com">A link</a></p>

是这样分开的:

array = { [0]=>"<p>",
[1]=>"Some",
[2]=>"content",
[3]=>"<a href='www.test.com'>,
[4]=>"A",
[5]=>"Link",
[6]=>"</a>",
[7]=>"</p>"

到目前为止,我一直在使用 preg_split,并且已经成功地设法通过空格拆分字符串或通过标签拆分 - 但是当我需要将其拆分为时,所有内容都在一个数组元素中。

有人帮帮我吗?

最佳答案

在这种情况下不应使用 preg_split。试试 preg_match_all:

$text = '<p>Some content <a href="www.test.com">A link</a></p>';
preg_match_all('/<[^>]++>|[^<>\s]++/', $text, $tokens);
print_r($tokens);

输出:

Array
(
[0] => Array
(
[0] => <p>
[1] => Some
[2] => content
[3] => <a href="www.test.com">
[4] => A
[5] => link
[6] => </a>
[7] => </p>
)

)

我假设您忘记在示例中的 'A link' 中包含 'A'

请注意,当您的 HTML 包含 < 或 > 不是标记的开始或结束时,正则表达式会把事情搞得一团糟! (因此警告)

关于php - 拆分 html 代码标签和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1693396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com