no-image

php正規表現でpreg_replaceやpreg_matchのオプションはどれを使うべきか

WordPressの処理とかで正規表現のオプションつかうときは基本sを使えばよいかと

このサイトの説明が直感的でわかりやすかった。
https://stabucky.com/wp/archives/4539

WordPressを触ってて一番良く出てくるパターンは、htmlの置換だと思うので、以下の2つを特に理解しておけばそうそう問題はないかと。

「m」
正規表現では、”^”で文字列の先頭、”$”で末尾にマッチしますが、修飾子「m」を使うと改行の直前と直後にもマッチします。 >
$str=”abc123xyz\nabc456xyz”;
$ms=preg_match_all(“/^abc.*xyz$/m”,$str);

「m」を使わないと「abc123xyz\nabc456xyz」にマッチします。
「m」を使うと「abc123xyz」「abc456xyz」にマッチします。

「s」
正規表現の”.”は「改行以外の任意の文字」ですが、修飾子「s」を使うと「改行を含む任意の文字」にマッチするようになります。

pocketlinehatebuimagegalleryaudiovideocategorytagchatquotegoogleplusfacebookinstagramtwitterrsssearchenvelopeheartstaruserclosesearch-plushomeclockupdateeditshare-squarechevron-leftchevron-rightleafexclamation-trianglecalendarcommentthumb-tacklinknaviconasideangle-double-upangle-double-downangle-upangle-downstar-halfstatus