0

@this postの前にこれが尋ねられたことは知っていますが、最後に空行も削除しようとしています。

私は使っている:

function removeEmptyLines($string)
{
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $string);
}

どの組み合わせでもうまく機能しますが、

 aadasdadadsad
 adsadasdasdas
 (empty line here)

返された配列で count() を実行しようとしていますが、 を に置き換えている\nため\n\、機能しません。上記の投稿で他のいくつかの例を試しましたが、どれもうまくいきませんでした。

私の他の機能(これまでのところ)

function checkEmails($value) {

$value = removeEmptyLines($value);

$data = explode("\n", $value);
$count = count($data);

return $count;

 }

基本的に、これはフォームのテキスト領域自体への投稿であり、誰かが完全な行の後に Enter キーを押すと、空白行もカウントされます。

どんな助けでも大歓迎です、

ありがとう!

トレ

4

3 に答える 3

2

PHPのtrim関数は、デフォルトでこれを行います。

$string = trim($string);

文字列の最初または最後からストリップする場合、またはのいずれltrim()かを使用することもできます。rtrim()

于 2012-05-30T10:48:30.187 に答える
1

試す:

preg_replace('/^[\r\n]+|[\r\n]+$/m', '', $string);

動いているのを見る

行から先頭/末尾の空白も取り除きたい場合は、 の 2 つの出現箇所を に置き換え[\r\n]ます\s。また、式の文字列を単一引用符で囲んだことも重要です。

于 2012-05-30T10:55:59.687 に答える
0

代わりに使用できます

rtrim($string, "\n");
于 2012-05-30T10:45:03.443 に答える