2010-12-02 15 views
0

を追加します括弧で始まり、終わり?PHPテキストエリアは、私は送信ボタンを打ったとき、私は取得OKのは、私がテキストエリアを持っているとしましょう、私はそのテキストエリアに</p> <p>を入力

PHPでこれを行う方法もありますか?

+0

あなたはその行動をしたいと言っていますか? –

+0

テキストエリア内のすべての行を分割して追加することができるかどうかを尋ねています。 – nn2

答えて

6

はい:テキストエリアが\n\r\n送信する場合

$output = '['.str_replace("\n", "]\n[", $input).']'; 

は私はわかりません。後者の場合は、\nから\r\nに変更してください。

3

これを行う最も簡単な方法は、文字列置換を使用することです。 「メッセージ」テキストエリアを仮定:

$text = isset($_POST['message']) ? $_POST['message'] : ''; 
$text = str_replace("\n\r", "\n", $text); 
$text = str_replace("\r", "\n", $text); 
$text = "[" . str_replace("\n", "]\n[", $text) . "]"; 
echo $text; 
1

あなたは正規表現を使用する必要があり、その後の間隔を保持したい場合:

$_POST['textarea'] = '['.preg_replace('!((?:\n|\r)+)!', "]$1[", trim($_POST['textarea'])).']'; 
+0

私のアドバイス(いつも)は、未処理の入力データを既知の形式に変換し、それをアプリケーションの標準と呼ぶことができます。次に、出力要件に応じて再フォーマットすることができます。 – zanlok

+1

そのコメントが何を意味するのか分かりませんか?私はちょうどその行に空白行を残すのではなく、行間に複数の改行を保存する方法を追加しました。どちらの場合でも、出力が「既知の形式」ではないことは確かです。 str_replaceはそれが必要な場合にはるかに高速ですが、私は同意します。 –

+0

私は、ソフトウェアに改行構造を含むデータの完全性が必要であることを意味します。 pregはいい考えではなく、データクリーニングの理由を説明するだけです。 – zanlok

関連する問題