在php中修改字符串的最有效方法是什么?

时间:2012-03-15 19:21:23

标签: php string string-formatting

我需要从诸如
的格式更改字符串 abcdefghijklmnopqrstuvwxyzab/cd/ef/abcdefghijklmnopqrstuvwxyz

在php中执行此操作的最有效方法是什么?

示例:

123456789将成为12/34/56/123456789

gwn58yh045bgw0r8将成为gw/n5/8y/gwn58yh045bgw0r8

2 个答案:

答案 0 :(得分:4)

你想要preg_replace。这段代码应该这样做:

$input = 'abcdefghijklmnopqrstuvwxyz';
$output = preg_replace('/^(..)(..)(..).*$/', "$1/$2/$3/$input", $input);

这会将前两组中的前三组(..)加上前缀($1$2$3)到原始字符串,并带有斜杠。

演示:http://codepad.org/WueutXZA

答案 1 :(得分:3)

<强>更新

注意:由于Jeff B打败了preg_replace解决方案,他的效率最高。但只是提供另一种(完全不可读的)替代方案......

$inStr = 'abcdefghijklmnopqrstuvwxyz';

$temp = substr($inStr,0, 6);
$outStr = substr_replace(
            substr_replace(
                substr_replace($temp, '/', 2, 0)
            , '/', 5, 0)
          , '/', 8, 0);

echo($outStr . $inStr);