0

JavaScript API を使用して Google Feeds API からいくつかのコンテンツを取得し、それらを Phonegap アプリの SQLite データベースに挿入しようとしています。

しかし、フェッチされたコンテンツ文字列内のエスケープされていない特殊文字が原因で、非常に多くの構文エラーが発生します。コンテンツ文字列には HTML コードとその属性、および引用符内の値が含まれているためです。

このタスクを完了するための解決策を手伝ってくれる人はいますか? だれかが、addslashes、htmlentities、htmlspecialchars などの PHP 関数を実行する方法を提案できますか? この挿入を行う適切な方法を教えてください。JSのみ。

例: 挿入変数 "content" は文字列で<div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>あり、列に挿入する必要があります。HTML コンテンツはエラーなしです。

var content = <div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>
tx.executeSql("INSERT INTO MyTable(id, Content) VALUES ('1',content)");

変数 "content" には一重引用符と二重引用符があり、さらに多くの特殊文字を含めることができます。したがって、コンテンツ変数は、DB に挿入する前にフォーマットする必要があります。

4

3 に答える 3

1

SQL ステートメントで任意の文字列値を使用するには、パラメーターを使用します。

var content = "!'§$%&/()=?+*~#|<...";
...
tx.executeSql("INSERT INTO MyTable(ID, Name, Content) VALUES(?,?,?)",
              [123, "Some Name", content]);
于 2013-10-08T14:11:12.813 に答える