• ベストアンサー

preg_replaceについての質問です

掲示板用のスクリプトなんですが、 >>(数字) をURLに変換するのはどうすればいいのでしょう? $message = preg_replace("/>>(\d+)/","<a href=\"#$1\">&gt;&gt;$1</a>",$message);

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

  • ベストアンサー
  • 4017B
  • ベストアンサー率73% (1341/1821)
回答No.1

え~っと、とりあえず… $message = preg_replace( '/>>(\d+)/', '<a href="#$1">&gt;&gt;$1</a>', $message ); ~みたいに " を ' に書き換えてみてください。それでとりあえずは問題無く通るはずです。 P.S. この件に限った話ではありませんが、PHPでコード記述をする際には国籍宗教民族などに関係無く、文字列を引用符で代入指定する場合には必ず全て ' で、つまり「シングルクォート」囲う様にしてください。 - "参考リンク": https://sites.google.com/site/auroralrays/hayamihyou/asciicode CやJS系、或いはPerlなどから来た人は無意識に「引用符は "" で」という習慣付けがなされていますが。少なくともPHPでは「ダブルクォート」はほとんど意味が無く、逆にエラーの原因になるだけなので、基本的にはそんなモノは存在しないと考えてコード記述していった方が良いです。 解説本やweb記事などでは「""で囲うと中身に変数が使えます!」みたいな、さも絶大なメリットがあるかの様に解説しているモノがほとんどですが…実際のPHPコーディング作業を鑑みた場合、圧倒的にデメリットの方が多くてメリットはほとんどありません。

nennneko5787
質問者

お礼

ありがとうございます。解決しました

すると、全ての回答が全文表示されます。