使用共享样式用 HTML 标签替换连续的伪标签
P粉926174288
P粉926174288 2023-09-01 18:44:45
0
1
503

我有这条线

a[link], a[link] a [link] text text text a [link] text a[link] text

所以我想找到文本之前的第一个链接并对它们进行一次操作并以特殊样式突出显示它们(在本例中,可能或多或少有三个)并找到在文本之后的其他链接文本并以不同的样式突出显示它们。

我只能找到前三个链接,但我不知道我做得怎么样


我现在将尝试给出一个说明性示例来说明所需的内容: 有这么一段文字

a[link1], a[link2] a[link3] 文本 文本 文本 a[link4] 文本 a[link5] 文本

在本文中,有指定为 a[...] 的链接。将来,我需要替换这些链接并将其变为以下形式:

link1link2link3 文字 文字 文字 link4 文字 link5 文字

前三个链接的类分配有值 style1。文本后面的链接已经有一个分配给 style2 的类值。

一开始,文本前面可以有三个链接,四个甚至一个,文本后面可以有任意数量、任意顺序的链接。

P粉926174288
P粉926174288

全部回复 (1)
P粉338969567

不要尝试一次匹配所有内容。单独匹配每个链接,然后迭代结果。为此,请使用preg_match_all;如果您想在每次匹配时进行替换,请使用preg_replace_callback。使用:

a\[(\w+)\]

应该实现你的目标。

尚不清楚[\s+]?的目标是什么,可以选择允许空格或+。还不清楚链接后面的可选逗号和空格。保持简单是最好的方法。

https://3v4l.org/2AvT1

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!