删除;;在串

0

的问题

我已经字符串

;{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); 
php regex
2021-11-24 05:22:41
1

最好的答案

1

我们可以使用 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;

这个打印:

;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法;;称为严重);;{卡}(秘密的黑暗魔法;;称为严重;;秘密的黑暗魔法)

;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法);;{卡}(秘密的黑暗魔法;称之为严重);;{卡}(秘密的黑暗魔法;称之为严重;秘密的黑暗魔法)

2021-11-24 05:29:36

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................