preg_replaceで文字の置き換えしました。正常に置換されません。うまく置き換えされず、かなり悩みました。原因は、重複置換されてしまうことでした。strtrで解決できました。した解決策がなかなか見つからなかったので、記載します。使い方の違いが分かりにくく、同じコードの比較の情報が無かったので、ついでに説明します。テキストで重複置換の問題をざっくり説明して、そのあとコードの説明をしたいと思います。違いで1日悩んだので、誰かの参考になれば幸いです。初めにstr_replaceで置換を行いました。複数の置換がうまく行かなかった理由は、置換された文字が再び置換されてしまうことでした。「AB」のAをABに、BをBCにしたいとします。「AB」が「ABBC」になれば、正しい変換なのですが、str_replaceで置換すると「AB」が「ABCBC」になってしまいます。これは処理が一つ一つ行われるため、まず「AB」のAがABになり、「ABB」として次の処理に移ります。「ABB」のBがBCになるため、結果として「ABCBC」となってしまいます。preg_replaceでも、結果は同じ調べている途中にpreg_replaceなら重複されずに処理できるというテキストを見つけたのですが、結果は同じでした。preg_replaceでも「ABCBC」となります。調べて行くうちに、処理されるarrayの順番を変えることで、重複を回避できるというテキストがあったのですが、こちらも順番が変わるだけで、同じ問題を持っています。strtrで解決strtrなら重複されずに処理できました。str_replaceやpreg_replaceと使い方が少し違いまして、なかなか理解できませんでした。連想配列を使うのですが、なんでキーに設定するんだろうと、それがなかなか理解できず、意味が分からなかったのが原因です。自分の脳ミソが足らずでした。単純に変更したいテキストを入れれば、良いんだなと理解したら簡単でした。これで「ABBC」で変換できました。コードの説明php全文記載します。個別に説明すると余計複雑になりそうで、どうもすいません。phpファイルに張り付けて実行するとこのようになります。?>は、フォームと同一ファイルでPHPを実行するときの決まり文句です。テキストエリアには元からABのテキストを入れています。nameはtext1にしています。POSTで受け取ったtext1(つまりAB)を、$stringという変数に入れています。変更したい対象のテキストを$searchとして、置き換えるテキストを$replaceにしています。その1からその5まで、分かり易くするため、同じ変数名を使っています。変更結果を出力しています。$text;しても良いと思いますが、複雑に見えるかなと思い、そのままechoにしました。帰って分かりにくいかもしれませんけども。strtr($string,"B","AB");?></body></html>その1:str_replaceでABを変換した場合の説明str_replaceの説明ですが、str_replace(1,2,3)、3の1を2に書き換えるというものです。下記のように記述すると、文字の中も、AをABに、BをBCに書き換えしてくれます。処理が一つ一つ行われるため、まず「AB」のAがABになり、「ABB」として次の処理に移ります。「ABB」のBがBCになるため、結果として「ABCBC」となってしまいます。str_replace($search,$replace,$string);?>その2:preg_replaceでABを変換した場合の説明preg_replaceは正規表現検索および置換を行う時に利用します。preg_replaceなら重複変換されないと記載あったので使ってみました。結果として「ABCBC」となってしまいます。ついでにstr_replaceとの書き方の違いの説明をします。preg_replace(1,2,3)、3の1を2に書き換えるというもので、str_replaceと一緒です。1の部分にスラッシュで挟む違いがあるようです。('A','B')を('/A/','/B/')します。preg_replace($search,$replace,$string);?>その3:preg_replaceでarrayの処理順番を変えてABを変換した場合の説明$replace部分の順番を逆にすれば、重複処理が解決できるという記述もあったのですが、こちらもできませんでした。結果として「ABCBC」となってしまいます。要は同じで、一つ一つ処理されるからです。あーなってこーなるからです。(実は、どの順番でどうなると、そうなるのか考えたのですがわかりませんでした。結果として駄目でした。preg_replace($search,$replace,$string);?>その4:strtrでABを変換した場合の説明strtrの使い方ですが、変換したい文字の数が異なる場合、連想配列を使う必要があるそうです。キーとして数値を入れて、そうやって利用するんだろうとか、難しく考えず、A=>ABにするという感じと考えたら楽になりました。下記のようにしたら「ABBC」と重複した置換も無く変換されました。連想配列を利用しないと、BをABにしたくても、BはABにならず、Aになってしまいます。strtr($string,"B","AB");?></body></html>うーん。分かり易く説明しようと思ったら、ながながと、ボケた文章になりました。いった物の説明って難しいですね。いいね!と思ったらお願いします。更新情報を受け取るメルマガ。更新記事がそのままメールで読めます。通常検索での除外(-)検索と、または(|)検索を知っていますか。Amazonの通常検索(商品を探すとき普通に利用する検索窓)に、除外(-)検索と、または(|)検索があるのはご存知でしたでしょうか。調べたら他にも色々機能がありました。知られていないですよね.。Amazonの詳細サーチのところに説明がありました。これは気が付き...banggood(バングット)とは。海外から物を直接購入できると、世界が広がる気がします。中国の様々な商品を扱っているECサイトを利用したいけど、中国の激安通販サイトは怪しくて、商品が届かないのでは・・と不安に感じる人は多いでしょう。あと買い方など購入方法や、荷物の配送や追跡方法など、良く分からず心配になりま...実践済み!本業をしながらでも月20万円稼ぐ、記事ブログ運営の6つのコツ。12ヶ月まえにブログからの広告収入が15万円を超えた。20万円近い月もあった。確定申告もしているので特別に隠すべきことでもない。儲けやすい記事の書き方について思うことを書く。自宅の机が狭くて、非効率なレイアウトになっていませんか。効率的な自宅の仕事部屋のレイアウトを作るべき、机、モニター、モニターアーム、電源周りを見直しました。かかった費用はオフィステーブル約15000円とモニターアーム約10000円です。時間をかけてiPhone6とiPhone6Plusの木(wood)のiPhoneケースメーカを集めました。ウッドケースを探している人は、必ずお気に入りが見つかるでしょう。ここでお気に入りが見つからなければ、自分で作るしかないでしょう。patファイルの使い方Photoshopパターン素材ってご存知ですか。指定の範囲を繋ぎ目なく自然にテクチャーできる素材です。はてなブなどや、ITライフハック系のサイトで良く取り上げられています。http:/...banggood(バングット)とは。海外から物を直接購入できると、世界が広がる気がします。中国の様々な商品を扱っているECサイトを利用したいけど、中国の激安通販サイトは怪しくて、商品が届かないのでは・・と不安に感じる人は多いでしょう。あと買い方など購入方法や、荷物の配送や追跡方法など、良く分からず心配になりま...2015年Yahooショッピングに出店して数ヶ月運営してみた感想まとめ2014年にYahooショッピングは無料化して大きなニュースになりました。私もそのころにYahooショッピングに出店しました。ここ数ヶ月運営してみた感想をまとめます。追記2015/5/30:黄色線では、半年後のコメントも加えてみました。追記2015/7/1:さらに追記は...1000種類以上あるBloggerデザインテンプレート使い方AllBlogToolsには、自由に使えるBloggerのデザインテンプレートが1000種類以上あります。)の使い方を紹介します。preg_replaceで文字の置き換えしました。正常に置換されません。うまく置き換えされず、かなり悩みました。原因は、重複置換されてしまうことでした。strtrで解決できました。した解決策がなかなか見つからなかったので、記載します。使い方の違いが分かりにくく、同じコードの比較の情報が無かったので、ついでに説明します。テキストで重複置換の問題をざっくり説明して、そのあとコードの説明をしたいと思います。違いで1日悩んだので、誰かの参考になれば幸いです。EnterSearch。