替换PHP中特定位置的字符串


Replace string at particular position In PHP?

我必须替换字符串,但这在PHP中很简单,但我的字符串就像这里展示的一样。请任何人帮我。

$string = "#x93F;#x902;#x91C";  

上面的字符串我想用替换它

 #x91C;#x93F;#x902;

但是这些字符串中有一个东西被替换了。我们不知道$string #x91C;的最后一个字。

任何单词都在最后,它位于字符串前面。我该如何解决这个问题?请任何人帮助我。

使用捕获组来捕获所需的字符。稍后,您可以将匹配的字符替换为组中的字符。

Regex:

^([^;]*);([^;]*);([^;]*);$

替换字符串:

$3;$1;$2;

演示

$string = "#x93F;#x902;#x91C;";
echo preg_replace('~^([^;]*);([^;]*);([^;]*);$~', '$3;$1;$2;', $string);

输出:

#x91C;#x93F;#x902;
((?:[^;]+;)*)([^;]+)(?=$)

替换为$2;$1

请参阅演示。

http://regex101.com/r/uH3tP3/9