2012-03-15 15 views
0


abcdefghijklmnopqrstuvwxyzからab/cd/ef/abcdefghijklmnopqrstuvwxyzのような形式に文字列を変更する必要があります。PHPで文字列を変更する最も効率的な方法は何ですか?

これをPHPで行う最も効率的な方法は何ですか?

例:

12345678912/34/56/123456789

gwn58yh045bgw0r8gw/n5/8y/gwn58yh045bgw0r8

+0

すべてのダウンボトムについてはわかりません。 – Isius

+1

おそらくあなたの質問がもともと不明だったからです。私はあなたの質問を明確にして以来、私の下垂体を削除しました。 – Wiseguy

+0

私は今参照してください。ありがとう。今はっきりしていますか? – Isius

答えて

4

あなたはpreg_replaceが必要です。このコードは、それを行う必要があります。

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

は、この2つの文字(..)の最初の3グループを取り、スラッシュと、元の文字列にそれら($1$2$3)を付加します。

デモ:http://codepad.org/WueutXZA

3

なるなる更新

注:ジェフ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); 
関連する問題