カテゴリー: PHP
正規表現
正規表現:アンカー もじ 正規表現の解説 ^ 行頭 \A 行頭 $ 行末、m修飾子をつけない場合は文字列の終端にもマッチ \Z 行末、文字列の終端 \z 行末 \b 単語境界 \B 単語境界以外 \G 照合開始位置 正規表現:メタもじ もじ 正規表現の解説 ^ 検索対象の初めのもじまたはPCRE関数…
文字列の取得と置換
substr() substr()の構文は「substr(対象文字列, 開始位置 [, 取得バイト数]);」です。 substr()は対象文字列の中から文字列を取得します。 対象文字列には一つ以上の文字が必要です。開始位置はstringの0からカウントした位置になります。マイナスを指定した場合はst…
文字列の中の文字列を調べて条件分岐と配列を使う
strpos()とstripos() 構文は「strpos(対象文字列, 検索文字列 [, オフセット]);」で、stripos()も同様です。 検索文字列が最初に出現する位置を探しますが、stripos()では大文字小文字を区別しません。いずれも第三引数のオフセットにはオプションとして開始位置を指…
mb_str~で文字列の長さと文字数を調整
strlen() 書式は「strlen(対象文字列);」です。 strlen()はデータのバイト数をカウントします。この関数はバイナリセーフです。また、もじ列以外のデータを入れると、もじ列型に置き換えます。オブジェクトであれば__toStringメソッドがコールされ、メソッドがなければE_WARNI…
文字列の端の空白や文字をtrim()で削除
trim() trim()の構文は「trim(対象文字列 [, 削除文字]);」です。 trim()は第二引数を省略した場合、渡された対象文字列の両端の、半角スペース、ヌル文字、タブ、垂直タブ、ラインフィード、キャリッジリターンをデフォルトで削除します。日本語は削除できませんが、これは1バイト単位で…
出力バッファ「ob_start()」
ob_startはphpからの出力を一時的に記憶するバッファという機能を持つ関数です。引数はオプションで省略可能です。オプションを指定する場合、第一引数には出力内容を処理するコールバック関数を登録します。第二引数には分割するサイズを指定しますが、設定しない場合は出力された全てが一時的に記憶されます。…
preg系のPCRE関数で正規表現を使った置換
「PCRE」はモジュールのことで、このページで扱っている正規表現関数が使えます。他のモジュールでは「mbstring」や「POSIX」が用意されています。このうち「POSIX」はマルチバイト文字に対応していないため、PHPでは非推奨になっています。日本語を含むマルチバイト文字を処理する場合は、mbs…
無名関数(クロージャ)とビルトイン関数
無名関数(クロージャ) 無名関数は親のスコープから変数を継承しますが、その継承にはuseを使います。useを使わず、呼び出し側で指定した値を使いたい場合は「($a,$b)」などとし、両方の引数の数を一致させます。useを使った場合、局所的にのみ有効になるレキシカル変数を引数として指定します。クロージ…
preg_match_all()において置換時のパターン文字列の動作
preg_match_all()は、正規表現検索を繰り返し行い、一致するパターンの文字列を全て取り出すことができる関数です。単純に文字列を置き換えるだけならこの関数は必要ありませんが、何らかの理由でこの関数を使い、以下のような書式にすると一部のパターン文を取り出せなくなります。 特定のパターン文字と…
一次元、連想配列、多次元配列のソート
array_reverse() array_reverse()は配列の要素を逆順に並び替えます。第二引数がtrueの場合、キーの値は保持されます。初期値はfalse。連想配列ではtrueを指定。非数値のキーは、この設定にかかわらず常に保持されます。 実行結果:css:クライアントサイドB。php:サ…