改行に基づいてphp文字列を配列に変換します

PHPz
リリース: 2023-05-05 22:14:09
オリジナル
1165 人が閲覧しました

PHP は、特に Web 開発の分野で広く使用されているプログラミング言語です。 PHP では文字列を処理する必要がよくありますが、一般的なニーズの 1 つは、改行を含む長い文字列を配列形式に変換することです。

この記事では、PHP を使用して改行を含む文字列を配列に変換する方法を紹介し、その過程で役立つヒントと方法をいくつか示します。

文字列内の改行文字

まず、文字列内で改行文字がどのように表示されるかを確認しましょう。 Unix/Linux システムでは、行末の改行文字は \n 文字です。Windows システムでは、行末の改行文字は \r\n# です。 ## キャラクター。テキスト ファイルを編集したり読み込んだりすると、これらのさまざまな行末改行に遭遇します。たとえば、次の文字列には、異なる行末改行文字の複数のインスタンスが含まれています:

Hello\nworld\r\ndoing things
ログイン後にコピー
この文字列を配列に変換するには、文字列を正しくセグメント化する方法と、文字列を別の方法で処理する方法を考慮する必要があります。行末の改行。

explode 関数を使用する

PHP の

explode() 関数は、区切り文字を指定することで文字列を配列に分割できます。さまざまな改行文字を含む文字列の場合、正規表現を使用して区切り文字を記述することができます。

たとえば、次のコードは、

\r\n\n 改行文字を含む文字列を配列に変換できます。出力は次のとおりです。

$str = "Hello\nworld\r\ndoing things";
$array = preg_split('/\r?\n/', $str);
print_r($array);
ログイン後にコピー
この例では、正規表現

/\r?\n/

を使用します。これは、

\r\n と # に一致します。 ##\n2 つの行末改行文字。したがって、文字列全体を 3 つの要素の配列に分割できます。 正規表現自体にもいくつかの特殊文字が含まれているため、使用前にエスケープする必要があることに注意してください。 PHP では、preg_quote() 関数を使用して、正規表現内の特殊文字をすばやくエスケープできます。

Array
(
    [0] => Hello
    [1] => world
    [2] => doing things
)
ログイン後にコピー

行末のスペースの処理行末の改行文字に加えて、行末にスペースやその他の目に見えない文字が存在する可能性があることも考慮する必要があります。行の終わり。これらのスペースは文字列の表示には影響しませんが、文字列から配列への変換には影響する可能性があります。たとえば、次の文字列には改行といくつかのスペースが含まれています:

$delimiter = "/".preg_quote("\r\n")."|".preg_quote("\n")."/";
$array = preg_split($delimiter, $str);
ログイン後にコピー

この文字列を分割すると、空の文字列とスペースを含む配列が得られます:

Hello   \nworld \r\n doing things     
ログイン後にコピー

出力結果:

$array = preg_split('/\r?\n/', $str);
print_r($array);
ログイン後にコピー

これは私たちが望む結果ではありません。この問題を回避するには、文字列を分割する前に行末のスペースを削除する必要があります。

trim()

関数を使用すると、文字列の両端の空白文字を削除できます。たとえば、次のコードは行末のスペースを削除し、文字列を配列に変換できます。

Array
(
    [0] => Hello   
    [1] => world 
    [2] =>  doing things     
)
ログイン後にコピー

出力結果: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$array = preg_split('/\r?\n/', $str); foreach ($array as $key =&gt; $line) { $array[$key] = trim($line); } print_r($array);</pre><div class="contentsignin">ログイン後にコピー</div></div>結論

Convert the改行文字を含む文字列 配列は、PHP における一般的な処理要件です。この記事では、

preg_split()

関数と正規表現を使用して文字列を分割する方法と、末尾のスペースを処理する方法を紹介します。これらのヒントがあなたの PHP プログラミングの取り組みに役立つことを願っています。

以上が改行に基づいてphp文字列を配列に変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート