output: '^ ^ ":D" ^^^^'-6ren">
gpt4 book ai didi

php - 替换 :D emoticons, 除了内部 ":D"

转载 作者:可可西里 更新时间:2023-11-01 01:01:23 25 4
gpt4 key购买 nike

我有:

$txt = ':D :D ":D" :D:D:D:D';

我想preg_replace 所有:D^ 并且如果":D" 则不替换。

===> output: '^ ^ ":D" ^^^^';

最佳答案

(*SKIP)(*F) 魔法

$replaced = preg_replace('~"[^"]+"(*SKIP)(*F)|:D~', '^', $yourstring);

the demo ,查看底部 Pane 中的替换。

这个问题是这个问题中解释的技术的经典案例 "regex-match a pattern, excluding..."

交替的左侧 | 匹配完整的 "quotes" 然后故意失败,之后引擎跳到字符串中的下一个位置。所以报价被中和了。右侧匹配 :D,我们知道它们是正确的,因为它们与左侧的表达式不匹配。

引用

关于php - 替换 :D emoticons, 除了内部 ":D",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24688549/

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