我需要从诸如
的格式更改字符串
abcdefghijklmnopqrstuvwxyz
至ab/cd/ef/abcdefghijklmnopqrstuvwxyz
。
在php中执行此操作的最有效方法是什么?
示例:
123456789
将成为12/34/56/123456789
gwn58yh045bgw0r8
将成为gw/n5/8y/gwn58yh045bgw0r8
答案 0 :(得分:4)
你想要preg_replace
。这段代码应该这样做:
$input = 'abcdefghijklmnopqrstuvwxyz';
$output = preg_replace('/^(..)(..)(..).*$/', "$1/$2/$3/$input", $input);
这会将前两组中的前三组(..)
加上前缀($1
,$2
,$3
)到原始字符串,并带有斜杠。
答案 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);