ホームページ >バックエンド開発 >PHPチュートリアル >フォームのテキストエリアに送信されたテキストの改行を

に変換する方法

フォームのテキストエリアに送信されたテキストの改行を

に変換する方法

WBOY
WBOYオリジナル
2016-06-23 13:32:581067ブラウズ

フォームのテキストエリアに送信されたテキストは、送信後にmysqlデータベースに書き込まれ、読み出されて表示されます。もともと改行がなかったことが判明しましたが、それらは 1 つの大きな段落に結合されました。

フォームのテキストエリアに送信されたキャリッジリターン文字をe388a4556c0f65e1904146cc1a846beeのようなHTMLタグに変換する方法はありますか?データベースに書き込む前に変換しますか?それともデータベースから読み込んでから変換した方が良いのでしょうか?

具体的なコードを教えていただけますか?


ディスカッションへの返信 (解決策)

インターネット上でこの回答を見つけました。これは、データベースに保存するときに処理されないというものです。読み出すときは、次のステートメントを使用します:

CurrentContent = conn.myReader["Content"].ToString().Replace( Convert.ToString( ( char ) 13 ), "0c6dc11e160d3b678d68754cc175188a" );これはオブジェクト指向のアプローチですが、私にはよくわかりません。プロセス指向を意味する文は何ですか?

PHP コードまたはその他のコードが必要ですか?

php コードまたはその他のコードが必要ですか?

はphpコードです。


私自身のプログラムは、$select = mysql_query("select....") ステートメントを使用して結果をクエリします。
次に、それを使用してデータを取得します。
while($arr = mysql_fetch_array($result))
{

}
必要なフィールドは $arr[txt] にあり、それを入力するためにそれを処理する方法? 文字を 0c6dc11e160d3b678d68754cc175188a?

echo nl2br($arr[txt]) ;

http://blog.csdn.net/beyondqqiang/article/details/8893663

これは役立つはずです


http://blog.csdn. net/beyondqqiang/article/details/8893663

これは役に立つはずです


提供していただいた情報に感謝します。どのような正規表現が使用されているのか教えてください。そして、その機能も複雑です。つまり、複数行の復帰を 82c2f54f4cf245029ffb326befd49b3f に変換します。私の要求は非常に単純です。つまり、テキストエリアで送信された復帰を 82c2f54f4cf245029ffb326befd49b3f に変換します。コードを書くのを手伝ってください?データベースに保存しても変化しないとのこと。読み出す際の処理では、読み出したステートメントは、

$select = mysql_query("select....")
while($arr = mysql_fetch_array($result))
{
. 。 。ステートメントを処理しています
}
必要なフィールドは $arr[txt] にあります。これを処理して改行文字を 0c6dc11e160d3b678d68754cc175188a に変換するにはどうすればよいですか?

nl2br($arr[txt]) を使用しても目的は達成されず、改行もまだありません。

私も自分で書きました: str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]);


文法上の問題があるようで、ページを直接開くと空白になります。 (これは、この PHP の一部のステートメントに文法上の誤りがあることを意味します。)

$arr['txt'] = nl2br($arr['txt']);

str_replace((char(13)), "< ;br> ", $arr[txt]);

php には char 関数がなく、chr 関数しかないため、間違っています

ただし、そのような「キャリッジリターン」がないため、chr(13) として記述することも不適切ですLinux ではテキスト内の " 文字 したがって、自分で記述する場合は、次のように記述する必要があります
$arr['txt'] = preg_replace("/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt' ]);



$arr['txt'] = nl2br($arr['txt']);

str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]) ;

は間違っています。php には char 関数がなく、chr 関数しかありません

ただし、Linux ではテキストにそのような「キャリッジリターン」文字がないため、chr(13) として記述するのは適切ではありません。自分で書くのであれば、次のように書く必要があります
$arr['txt'] = preg_replace( "/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt']);

ありがとうございます!意味はよくわかりませんが、あなたの文章を使ってください。主な理由は、最初のパラメータがよく理解できないことです。これについては、後で詳しく学びます。

$arr['txt'] にテキストの折り返しがない限り、nl2br はその目的を達成できません。

$arr['txt'] = nl2br($arr['txt']);

str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]); は間違っています、なぜなら、phpにはchar関数がなく、chr関数しかないからです
ただし、Linuxではテキストにそのような「キャリッジリターン」文字がないため、chr(13)として記述するのは適切ではありません。
$arr['txt '] = preg_replace("/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt']); のように書く必要があります

書くのを手伝ってもらえませんかテキストエリア内のスペースをステートメントに変換するもう 1 つは?私はこれらの表現をまだ習っていません。

$arr['txt'] = nl2br($arr['txt']);


str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]); php には char 関数がなく、chr 関数しかないので、それは間違いです
しかし、Linux ではテキストにそのような「キャリッジ リターン」文字がないため、chr(13) として記述することも不適切です。自分で書くのであれば、
$arr ['txt'] = preg_replace("/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt']); のように書くべきです

ありがとうございます!意味はよくわかりませんが、あなたの文章を使ってください。主な理由は、最初のパラメータがよく理解できないことです。これについては、後で詳しく学びます。


この「/[rn]+/」はファイル内の改行記号ですが、nl2br 関数を使用してテキストエリアに入力された改行記号を df250b2156c434f3390392d09b1c9563 に変換できます。テキストエリアの「n」は「rn」ではありません。 nl2br 関数が機能しない可能性があります。テキスト フィールドで Enter キーを押していない可能性があります。
それが通常のルールです

$arr['txt'] = nl2br($arr['txt']);

str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $ arr[txt]);
は間違っています。php には char 関数がなく、chr 関数しかありません
ただし、テキストにそのような「キャリッジリターン」文字がないため、chr(13) として記述することも不適切です。 Linux なので自分で書きます その場合、
$arr['txt'] = preg_replace("/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt']) と書く必要があります);

ありがとうございます!意味はよくわかりませんが、あなたの文章を使ってください。主な理由は、最初のパラメータがよく理解できないことです。これについては、後で詳しく学びます。


この「/[rn]+/」はファイル内の改行記号ですが、nl2br 関数を使用してテキストエリアに入力された改行記号を df250b2156c434f3390392d09b1c9563 に変換できます。テキストエリアの「n」は「rn」ではありません。 nl2br 関数が機能しない可能性があります。テキスト フィールドで Enter キーを押していない可能性があります。
Enterを押すと表示されますが改行はありません。

$arr['txt'] にテキストの折り返しがない限り、nl2br はその目的を達成できません。

すみません、nl2br 関数は値 0x0d と 0x0a (16 進の復帰と改行) を 0c6dc11e160d3b678d68754cc175188a に変換しますか?


$arr['txt'] = nl2br($arr['txt']);

str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]);エラーはい、php には char 関数がなく、chr 関数しかないためです

ただし、Linux ではテキストにそのような「キャリッジリターン」文字がないため、chr(13) として記述するのは適切ではありません。自分で書いてください。
$arr[' txt'] = preg_replace("/[rn]+/", "0c6dc11e160d3b678d68754cc175188a", $arr['txt']); と書いてください。スペースを   に変換する別のステートメントを作成するのを手伝ってください?

$s = str_replace(' ', ' ', $s);

この関数 nl2br は、キャリッジ リターン (0x0d) とライン フィード (0x0a) の前に 'df250b2156c434f3390392d09b1c9563' 文字列を追加します


フロントは js replace(/n|r|(rn)|(u0085)|(u2028)|(u2029)/g, "0c6dc11e160d3b678d68754cc175188a"); で処理されます


$arr['txt' ] = nl2br ($arr['txt']);

str_replace((char(13)), "0c6dc11e160d3b678d68754cc175188a", $arr[txt]); は間違っています。php には char 関数がないためです。 chr 関数のみです

ただし、Linux ではテキストにそのような「復帰」文字がないため、chr(13) を記述することも不適切です。そのため、自分で記述する場合は、

$arr['txt' と記述する必要があります) ] = preg_replace("/[rn]+ /", "
", $arr['txt']);
あなたが与えた次のステートメントを見つけました: $arr['txt'] = preg_replace("/[rn]+/", "
", $arr['txt']);
はい、Converted と入力できます。 0c6dc11e160d3b678d68754cc175188a まで、最後の Web ページで改行します。
ただし、複数行の改行が 82c2f54f4cf245029ffb326befd49b3f に変換されるようです。最終結果は、投稿したときは数行が空でしたが、最終的に表示されると 1 行だけ変更されました。空いている列に進んで距離を伸ばすことは不可能です。

それでは、改行を 82c2f54f4cf245029ffb326befd49b3f に変換したい場合はどうすればよいでしょうか?

テストした結果、nl2br 関数は機能することがわかりましたが、次のようには機能しません。

$arr[txt] = nl2br($arr[txt]);

しかし、次のように変更すると機能します。これ:

$str = nl2br($arr[txt]);

すると、$str が表示されますが、理由はわかりませんが、正常に改行されています。

また、複数行の復帰を複数の 0c6dc11e160d3b678d68754cc175188a に解釈し、複数の改行を表示することもできます。これはまさに私が必要としているものです。ありがとう!

str_replace(" ", " ", $arr[txt]);

テストした結果、nl2br 関数は問題ありませんが、次のようにはならないことがわかりました。

$arr[txt] = nl2br($ arr[txt]);

しかし、これを次のように変更するだけです:

$str = nl2br($arr[txt]);

その後、$str が表示されますが、わかりません。なぜ。

また、複数行の復帰を複数の 0c6dc11e160d3b678d68754cc175188a に解釈し、複数の改行を表示することもできます。これはまさに私が必要としているものです。ありがとう!


$arr[txt] いいえ?どうやって見せたのですか?その後、彼らはおそらく再び何かをしたでしょう。

これが私が成功したことです

$select = mysql_query("select....") while($arr = mysql_fetch_array($result)) {    echo str_replace(" ", " ", $arr['txt']); }

インターネットでこの答えを見つけました。それは、データベースに保存するときに処理されないということです。読み出すときは、次のステートメントを使用します:

CurrentContent = conn.myReader["Content"].ToString().Replace( Convert.ToString( ( char ) 13 ), "0c6dc11e160d3b678d68754cc175188a" );これはオブジェクト指向のアプローチですが、私にはよくわかりません。プロセス指向を意味する言葉は何ですか?

裏返して、Content フィールドのデータを読み取って文字列形式に変換し、改行文字を 0c6dc11e160d3b678d68754cc175188a に置き換えます。


e03b848252eb9375d56be284e690e873 を使用して展開してください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。