Php 更改字符串中的当前值

Php 更改字符串中的当前值,php,Php,我需要更改php中字符串或数字的出现。在这种情况下,如果发生这种情况,我需要改变: [code:154545edppy] // my code here [/code] 对此 [code] // my code here [/code] 我需要验证是否有字母和字符串出现在解封块代码中。我试图用str_replace来做这件事,但它不起作用 我现在的代码: $text = "[code:54as] [/code]"; $text = str_replace("[code:

我需要更改php中字符串或数字的出现。在这种情况下,如果发生这种情况,我需要改变:

[code:154545edppy] 
    // my code here
[/code]
对此

[code]
    // my code here
[/code]
我需要验证是否有字母和字符串出现在解封块代码中。我试图用str_replace来做这件事,但它不起作用

我现在的代码:

$text = "[code:54as] [/code]"; 

$text = str_replace("[code: {(\d)}{(\w)}]", "[code]", $text);
$text = str_replace("[/code: {(\d)}{(\w)}]", "[/code]", $text);

echo $text;

str\u replace
是静态的。使用正则表达式替换
preg\u
,您可以完成任务

比如:

$text = "[code:54as] [/code]";
echo preg_replace('~(\[/?.*?):.*?\]~', '$1]', $text);
我应该这样做

PHP演示:
正则表达式演示:


如果只想替换
后面的数字和字母,请使用字符类代替第二个
*?
<代码>[A-Za-z\d]*?

显示您的代码示例。代码现在就在那里,克里斯,我需要更改单词“code”后字符串和数字的出现频率。这是一个例子,在实际案例中,代码是不同的。有了pleg_replace,我就可以解决这个问题了?Hello chris85,您的代码在本例中起作用。我原以为这在我的真实情况下会起作用,但有些东西不起作用。在我的真实案例中,我需要改变的地方是:[代码:54as='joseph_willians']。代码必须更改才能解决此问题?您希望它变成什么?如果是这样,它应该按原样工作。是的,就是这样!我会看到我的代码更好,谢谢你的家伙!