4バイト文字チェック if ( preg_match( '/[\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]/', $value ) ) { return '4バイト文字が含まれています'; } UTF-8で日本語は基本3バイトだけれど、旧漢字?とかあまり日常使わない漢字は4バイトのものがあるよう。 wikipediaによると JIS X 0213 という規格の文字とか こちら の文字とか。 4バイト文字は、 1バイト目 = \xf0-\xf7 2バイト目 = \x80-\xbf 3バイト目 = \x80-\xbf 4バイト目 = \x80-\xbf の文字を指すので上記コードとなる。 参考: https://design215.com/toolbox/utf8-4byte-characters.php 画像ソースを取得 preg_match("/(.*)((http|https):\/\/.*?\.({$validSuffix}))(.*)/i", $elementValue, $aryMatch); $img = $aryMatch[2] HTML要素などの文字列の中から画像ソースを取得するときなどに使用した。 $validSuffixには許容する画像の拡張子を以下のようにパイプつなぎで設定する。 $validSuffix = 'png|jpeg|gif'; $elementValueは検索対象の文字列。 $aryMatchに検索結果が代入され、画像ソースは2番目のサブパターンなので$aryMatch[2]で取得できる。 変換指定\Q...\E $searched_items = preg_grep( '/.*\Q' . $search . '\E.*/', $items ); 上記のようなコードを見たときに\Q, \Eってなんだと思ったので調べると \Q は \E までのメタ文字を無効化するのだそう。 他にも \u は次の1文字を大文字に変換 \l は次の1文字を小文字に変換 \U は \E までの文字を大文字に変換 \L は \E までの...
揮発性の記憶力を補うためにプラグラミングのTipsやメモなどを残していきます。