我有绳子
;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;;Called by the Grave);;{card}(Secrets of Dark Magic;;Called by the Grave;;Secrets of Dark Magic)我想移除;;在这里{卡}(黑暗魔法的秘密;被坟墓召唤)(不;;外面)
结果我想要
;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;Called by the Grave);;{card}(Secrets of Dark Magic;Called by the Grave;Secrets of Dark Magic)我尝试了下面的代码,但它删除了字符串中的所有;;!
$search = ';;';
$string = preg_replace("/($search)/", ";", $string); 发布于 2021-11-24 05:29:36
我们可以在这里使用preg_replace_callback来针对括号(...)中出现的所有文本。然后,在每个匹配项上,从;;到单个;执行一个简单的字符串替换。
$input = ";{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic);;{card}(Secrets of Dark Magic;;Called by the Grave);;{card}(Secrets of Dark Magic;;Called by the Grave;;Secrets of Dark Magic)";
$output = preg_replace_callback("/\(.*?\)/", function($matches) {
return str_replace(";;", ";", $matches[0]);
}, $input);
echo $input;
echo "\n";
echo $output;这些指纹:
;{card}(黑暗魔法的秘密);;{card}(黑暗魔法的秘密;被坟墓召唤);{card}(黑暗魔法的秘密;被坟墓召唤;;黑暗魔法的秘密);{card}(黑暗魔法的秘密);{card}(黑暗魔法的秘密;被坟墓召唤);{card}(黑暗魔法的秘密;被坟墓召唤;黑暗魔法的秘密)
https://stackoverflow.com/questions/70091086
复制相似问题