ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数 Split() が正規表現を使用して文字列を分割する方法について説明します_PHP チュートリアル
初心者にとって、PHP の一般的な関数の使用法をマスターすることは、学習を継続するための基礎です。今日は命令
array Split ( string $pattern, string $string [, int $limit] )
Tips
preg_split() 関数は Perl と互換性のある正規表現構文を使用します。通常は、PHP 関数の split() に代わる高速な代替手段です。正規表現の機能が必要ない場合は、explode() を使用した方が速く、正規表現エンジンによる無駄が発生しません。
この関数は文字列配列を返します。各単位は、大文字と小文字を区別する正規表現パターンを境界として区切られた文字列の部分文字列です。制限が設定されている場合、返される配列には最大でも制限セルが含まれ、最後のセルには文字列の残りの部分がすべて含まれます。エラーが発生した場合、split() は FALSE を返します。
/etc/passwd の最初の 4 つのフィールドを分割します:
例 1839. PHP 関数 split() example
<ol class="dp-xml"><li class="alt"><span><span class="tag"><?</span><span class="tag-name">php</span><span> </span></span></li><li><span>list($user, $pass, $uid, $gid, $extra) = </span></li><li class="alt"><span>split (":", $passwd_line, 5); </span></li><li><span class="tag">?></span><span> </span></span></li></ol>
文字列内にパターンに一致する項目が n 個ある場合、返される配列には n+1 個のユニットが含まれます。たとえば、パターンが見つからない場合は、1 要素の配列が返されます。もちろん、これは文字列が空の場合にも当てはまります。
スラッシュ、ドット、またはダッシュで区切られる日付を解析します:
例 1840. PHP 関数の split() の例
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><?</span><span class="tag-name">php</span><span> </span></span></li><li><span>// 分隔符可以是斜线,点,或横线 </span></li><li class="alt"><span>$</span><span class="attribute">date</span><span> = </span><span class="attribute-value">"04/30/1973"</span><span>; </span></li><li><span>list($month, $day, $year) = split ('[/.-]', $date); </span></li><li class="alt"><span>echo "Month: $month; Day: $day; Year: $year</span><span class="tag"><</span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>n"; </span></span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
同様の @chars = split('', $ str) の動作をエミュレートしたい、preg_split() または str_split() 関数の例を参照してください。
パターンは正規表現であることに注意してください。使用する区切り文字が正規表現内の特殊文字である場合は、最初にそれをエスケープする必要があります。 PHP 関数 Split() (またはその他の正規表現関数) の動作がおかしいと思われる場合は、PHP ディストリビューションの regex/ サブディレクトリに含まれる regex.7 ファイルを読んでください。このファイルはマニュアル ページ形式であり、 man /usr/local/src/regex/regex.7 のようなコマンドで読み取ることができます