• ベストアンサー

PHPです2つのスクリプトの相違がわかりません

PHPですが、以下の2つのスクリプトで同じ結果がでると思ったのですが現実は違いました。 henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("pen","pencil", $uketori); $uketori=strtoupper($uketori); print "$uketori"; ?> </body> </html> henkan2.php <?php $str=$_POST['UKETORI']; echo str_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; echo mb_ereg_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; ?> フォームに です。 という文字を入れたら変換されて だよん。 と表示さしたいのですが、上の2つで相違がでました。なぜなんでしょうか。 henkan.php では変換されませんでした。 henkan2.php では変換されました。

質問者が選んだベストアンサー

  • ベストアンサー
  • swqamy
  • ベストアンサー率37% (11/29)
回答No.3

すみません <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("pen","pencil", $uketori); $uketori=strtoupper($uketori); ↑この部分は要りません。 print $uketori; ?> 正しくは <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("です。","だよん。", $uketori); print $uketori; ?> です。

その他の回答 (3)

  • h_0
  • ベストアンサー率30% (7/23)
回答No.4

str_replaceはマルチバイト(日本語)対応ではなかったと思うので、日本語の検索置換はやめておいたほうが無難です。 蛇足ですが、正規表現は"です。$"のほうが思った結果になるのでは? echo mb_ereg_replace("です。$","だよん。", $str) . "<br>\n"; さもないと、"です。です。です。" が "だよん。だよん。だよん。"になります。 (これでも面白いですけど。)

  • swqamy
  • ベストアンサー率37% (11/29)
回答No.2

henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("pen","pencil", $uketori); $uketori=strtoupper($uketori); print "$uketori"; ?> </body> </html> で「print "$uketori";」としていますが正しくは 「print $uketori;」 です。 これで一度ためしてみてください。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

henkan.phpは > $uketori=str_replace("pen","pencil", $uketori); > $uketori=strtoupper($uketori); で、「です。」も「だよん。」も書いてありませんが、 投稿時の手違いでしょうか?

abesouri
質問者

お礼

すみません手違いでした。正しくは $uketori=str_replace("pen","pencil", $uketori); > $uketori=strtoupper($uketori); を $uketori=str_replace("です。","だよん。", $uketori); 次は削除です。 > $uketori=strtoupper($uketori); 宜しくお願いいたします。

関連するQ&A

専門家に質問してみよう