1

リッチテキストエディタがあるフォームを1つ作成しました。そして、データをデータベースに保存しようとしています。
今私は主に2つの問題を抱えています。

1)「#」(基本的にフォントの色を変更しようとしたとき)文字を含む文字列は、「#」の後の文字を格納しません。また、「#」文字も格納されません。

2)私は試しましたが....javascriptで

html.replace("\"","'");

ただし、二重引用符を一重引用符に置き換えることはありません。

4

3 に答える 3

2

いくつかのコードを確認する必要があります。私の気持ちは、あなたがどこかでいくつかの本質的な脱出ステップを逃しているということです。特に:

「#」を含む文字列(基本的にフォントの色を変更しようとしたとき)の文字列

次のようなURLに文字列を貼り付けている可能性があることを意味します。

var url= '/something.php?content='+html;

当然、に記号がhtml含まれている場合は、次の理由で問題が発生します。#

http://www.example.com/something.php?content=<div style="color:#123456">

は、#と呼ばれるフラグメント識別子を開始します。たとえば、URLの末尾に配置して、HTMLファイルで呼び出されるアンカーに移動する#123456">場合と同様です。フラグメント識別子は純粋にクライアント側であり、サーバーには送信されません。サーバーには次のように表示されます。#sectionsection

http://www.example.com/something.php?content=<div style="color:

ただし、これは上記の唯一の問題ではありません。スペース、<および=URLでは単に無効であり、のような他の文字&もパラメータの解析を台無しにします。任意の文字列をクエリパラメータにエンコードするには、次を使用する必要がありますencodeURIComponent

var url= '/something.php?content='+encodeURIComponent(html);

これは、他の帯域外文字と同様に置き換え#られます。%35

ただし、これが実際に行っていることである場合は、いずれの場合も、GET要求に応答してデータベースに何も保存したり、潜在的に大きなコンテンツを渡すためにGETに依存したりしないでください。代わりにPOSTリクエストを使用してください。

于 2010-04-29T09:36:18.570 に答える
1

データベースコードで非常に奇妙なことをしているようです。文字列をデータベースに保存するために使用する実際のコードを表示できますか?

#-文字はコメントを作成する一般的な方法です。つまり#、行の最初から最後まですべてが破棄されます。ただし、データベースに保存するコードが正しければ、それは問題ではありません。

Javascriptは、引用文字の変換を処理するための正しい場所ではありません。そのための適切な場所はサーバー側です。

于 2010-04-29T09:13:18.577 に答える
0

あなたが要求したように....
私はあなたを再生しようとします...私は私がしたことを正確に述べようとします...

1)私がこのように書いたhtmlフォームページのクライアント側。

html = html.trim();    // in html, the data of the rich text editor will come.
document.RTEDemo.action = "submit.php?method='"+ html.replace("\"","'") + "'"; 
\\ i had done replace bcz i think that was some problem with double quotes.

今submit.phpで、私のブラウザのURLはこのようになっています...

http://localhost/nc/submit.php?method='This is very simple recipe.<br><strong style='background-color: #111111; color: #80ff00; font-size: 20px;">To make Bread Buttor you will need</strong><br><br><blockquote><ol><li>bread</li><li>buttor</li></ol></li></blockquote><span style="background-color: #00ff80;">GOOD.</span><br><br><br><blockquote><br></blockquote><br>'


2)submit.phpで........私は単にこれを書くだけです

echo "METHOD : ".$_GET['method'] . "<br><br>";
$method = $_GET['method'];

今、上部の私の答えはこのようです...

METHOD : 'This is very simple recipe.

今私はURLの完全な詳細を保存したいです....しかしその唯一の保存...

This is very simple recipe.
于 2010-04-29T10:36:27.250 に答える