• ベストアンサー

preg_replaceについて

こんにちは。 PHPのプログラミングで、preg_replaceを使用したいのですが、(どのようなものかはわかっています)使用方法がわかりません。 某スクリプトを見てみたところ、 (:\/\/\S+?) や、 (.*?) など、わけの分からないものがたくさん出てきました。 どこのサイトを見ても、まったくわからなかったので、 わかる方、詳しくご教授くだされば幸いです。

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

該当の不明な部分は、正規表現 部分です。 >> どこのサイトを見ても、まったくわからなかったので との事ですが、この回答欄だけで全てを説明するのは不可能です。 詳細は、「正規表現」で検索してください。 例示された部分だけ簡単に説明します >> (:\/\/\S+?) \/ これは/(スラッシュ)自身を示します。最初の\はエスケープです  /をエスケープしているのはパターンを/で囲っているため境界と判定できすようにするためです \S は空白以外を示すメタ文字です。 + は直前の文字の1個以上の繰り返しを示します。 ? は最小のパターン一致の要求を示します。 :\/\/\S+? で"://(空白以外の文字列)" を置換対象にしていることを意味します >> (.*?) .(ピリオド) は、任意の一文字を意味します * は直前の文字の0個以上の繰り返しを意味します ? は最小のパターン一致の要求をしています .*? で任意の文字の連続を意味します(但し、?が有るので最小の一致パターン) ( ) は、カッコ内で一致した文字列を変数として渡すためにしています

その他の回答 (1)

  • masa6272
  • ベストアンサー率66% (93/140)
回答No.2

失礼ですが、はっきり言ってpreg_replaceがわかってないんでしょうね。 preg_replaceは、perl互換正規表現を用いた文字列置換ですから、perl互換正規表現がわかって初めて、preg_replaceがわかったことになります。 参照URLを見てください

参考URL:
http://www.php.net/manual/ja/regexp.reference.php

関連するQ&A

専門家に質問してみよう