PHPで空白や改行文字を削除したい
PHPで文字を取り込んだ時などに文字列の最後の改行文字を削除したい場合があります。そういう場合に、使える方法を集めてみました。改行文字があると、「文字列比較がFailするのに文字列を表示させると同じ」というトラブルになる可能性があります。文字列入力の場合は付けた方が無難と思います。
文字列の最初と最後の空白や改行文字を削除する : trim
string trim ( string $str [, string $character_mask = ” \t\n\r\0\x0B” ] )
trimで削除できる文字は下記のとおりです。
- ” ” (ASCII 32 (0x20)), 通常の空白。
- “\t” (ASCII 9 (0x09)), タブ。
- “\n” (ASCII 10 (0x0A)), 改行。
- “\r” (ASCII 13 (0x0D)), 復帰。
- “\0” (ASCII 0 (0x00)), NULL バイト。
- “\x0B” (ASCII 11 (0x0B)), 垂直タブ。
文字列の最初と最後の標準的な空白・改行文字を削除するときは下記のように書けばOKです。
$str="ABC ";
$trim = trim($str);
文字列の最初の空白や改行文字を削除する : ltrim
文字列の最初だけ削除はltrimを使います。
string ltrim ( string $str [, string $character_mask ] )
使い方は次の通り。
$trim = ltrim($str);
文字列の最後の空白や改行文字を削除する : rtrim
文字列の最後だけ削除はrtrimを使います。
string rtrim ( string $str [, string $character_mask ] )
使い方は次の通り。
$trim = rtrim($str);
文字列の中も含めて改行文字を削除する
この場合は改行文字を置換しましょう。次のように書けばOSに依存せずに書くことができます。
$str = str_replace(PHP_EOL, ”, $str);
まとめ
trim()を使うことで簡単に改行や空白文字を削除することができます。見えない文字がついているといろいろトラブルの原因になるので使ってみてください。
コメント
[…] PHPで空白や改行コードを削除する […]