2010年4月13日

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

さと やま です。


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@xxxxx>:
>
>> はじめまして よろしくお願いします。
>>
>> 投稿自体初めてで、恐ろしいのですが、置換側をエンコードするような考え方ではだめでしょうか?
>>
>> $search = array('A', 'B', 'C', 'D', 'E');
>> $replace = array('B', 'C', 'D', 'E', 'F');
>> $subject = 'ABCDE';
>> $result = html_entity_decode(str_replace($search,$replace,$subject));
>>
>> echo $result."\n\n\n";
>>
>>
>>
>> 2010年4月11日17:46 mao <mao@xxxxx>:
>>
>>> お世話になります。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@xxxxx
>>> _______________________________________________
>>> PHP-users mailing list PHP-users@xxxxx
>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>> http://oldwww.php.gr.jp/php/novice.php3
>>>
>>>
>> _______________________________________________
>> PHP-users mailing list PHP-users@xxxxx
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>>
>>
> _______________________________________________
> PHP-users mailing list PHP-users@xxxxx
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>
>
>

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年4月13日 17:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95049
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。