1

このチャットサーバーを作っているのですが、うまくいきません。テキストを送信すると、最初に関数によってエンコードされ、base64_encode()次に MySQL データベースに送信されます。次に、レシーバーは同じ MySQL データベースからテキストを取得します。これはもちろん、関数によって最初にデコードされますbase64_decode()

\n \'唯一の問題は、 andのような特殊文字に関するもの\tです。データベースからデータを取得して 2 つの textarea タグの間に出力すると\n、実際の改行ではなく、文字列として表示されます。

つまり、この問題を修正する必要があります。

$String = 'Line 1 \n Line 2';
print '<textarea>' . $String . '</textarea>';

//The result I want
//<textarea> Line 1
//Line 2 </textarea>

textarea タグ内のタグが機能nl2brしないため、またアポストロフィなどの他の文字があるため、関数は機能しません。

誰でも私を助けることができますか?

ありがとう!

4

3 に答える 3

1

特殊文字を評価するには、文字列を二重引用符で囲む必要があります。

$String = "Line 1 \n Line 2";
print '<textarea>' . $String . '</textarea>';
于 2012-09-29T16:37:44.067 に答える
0

これを変更すると:

$String = 'Line 1 \n Line 2';
print '<textarea>' . $String . '</textarea>';

これに:

$String = "Line 1 \n Line 2"; // double quote
print '<textarea>' . $String . '</textarea>';

...必要な出力が得られます。

于 2012-09-29T16:37:10.700 に答える
0

これも を使用するのと同じように機能し" ... "ますが、あなたの場合に役立つかもしれません:

$string = <<<EOT
Line 1 \n Line 2
EOT;

echo '<textarea>' . $string . '</textarea>';

他の人が言ったように、あなたの問題はSingle-Quotes.

于 2012-09-30T09:09:38.180 に答える