[PHP-users 35107] Re: str_replaceの使い方に関して

さと やま php @ raunit.jp
2010年 4月 13日 (火) 17:13:48 JST


さと やま です。


yktさんの発想と元のソースをあまりいじらない方法で、
こんな感じでどうでしょうか?

<?

$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');

$subject = 'ABCDE';

arsort($search);
arsort($replace);

echo str_replace($search, $replace, $subject);

?>

BCDEF
とは、表示されるかと思います。

(2010年04月13日 15:06), ykt wrote:
> yktと申します。
>
>   
>>> $search  = array('A', 'B', 'C', 'D', 'E');
>>> $replace = array('B', 'C', 'D', 'E', 'F');
>>> $subject = 'ABCDE';
>>> echo str_replace($search, $replace, $subject);
>>>       
> 例のケースだけで言えば単純に、
>
> $search  = array('E', 'D', 'C', 'B', 'A');
> $replace = array('F', 'E', 'D', 'C', 'B');
>
> ではだめでしょうか?
> searchとreplaceのそれぞれ先頭の要素から順に置換されていくので、後ろから置換してやれば
> 例通りの結果が得られるかと思います。
>
> 2010年4月13日14:43 akio tenman <a.tenman @ gmail.com>:
>   
>> はじめまして よろしくお願いします。
>>
>> 投稿自体初めてで、恐ろしいのですが、置換側をエンコードするような考え方ではだめでしょうか?
>>
>> $search  = array('A', 'B', 'C', 'D', 'E');
>> $replace = array('&#66;', '&#67;', '&#68;', '&#69;', '&#70;');
>> $subject = 'ABCDE';
>> $result = html_entity_decode(str_replace($search,$replace,$subject));
>>
>> echo $result."\n\n\n";
>>
>>
>>
>> 2010年4月11日17:46 mao <mao @ nextyle.com>:
>>     
>>> お世話になります。MAOです。
>>>
>>> 初歩的な質問ですみません。
>>>
>>> $search  = array('A', 'B', 'C', 'D', 'E');
>>> $replace = array('B', 'C', 'D', 'E', 'F');
>>> $subject = 'ABCDE';
>>> echo str_replace($search, $replace, $subject);
>>>
>>> としたばあい、
>>> FFFFF
>>> となると思うのですが、
>>> これを、BCDEFの結果を得たい場合は、
>>> どうすればよいのでしょうか?
>>>
>>> preg_replace_callbackを使えばよいのかとおもい、
>>>
>>> $search  = array('A', 'B', 'C', 'D', 'E');
>>> $replace = array('B', 'C', 'D', 'E', 'F');
>>> $subject = 'ABCDE';
>>> echo preg_replace_callback("/[".join("",$search)."]/",create_function(
>>> '$matches',
>>> 'Global $search,$replace;return str_replace($search, $replace, $matches[0]);'
>>> ),
>>> $subject
>>> );
>>>
>>> なども試してみましたが、結果は同じでした。
>>>
>>> よろしくお願いいたします。
>>>
>>> --
>>> MAO
>>> mao @ nextyle.com
>>> _______________________________________________
>>> PHP-users mailing list  PHP-users @ php.gr.jp
>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>> http://oldwww.php.gr.jp/php/novice.php3
>>>
>>>       
>> _______________________________________________
>> PHP-users mailing list  PHP-users @ php.gr.jp
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>>
>>     
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
>
>   



PHP-users メーリングリストの案内