1

言い換え...

OK、データベースに情報があります。これは、「ランダムな引用符」を含むランダムなテキストです

$var = 'This is random text with a "random quote"'

onClick="show(\''.$var.'\')

ただし、表示されると(ソースを表示)、次のように表示されます。

onclick="show('This is random text with a  " random="" quote"')

mysqli_real_escape_string と str_replace を試しましたが、"

助け、変更、またはリワークがあれば、今すぐ気が狂ってしまいます。

4

3 に答える 3

1

これが HTML コンテキストの場合、"それらをエスケープするために使用する必要があります。これはhtmlspecialchars関数で行われます。

JavaScript 文字列として使用する場合は、文字列で使用json_encodeします。

mysqli_real_escape_stringデータベース呼び出しにのみ使用し、最後の手段としてのみ使用してください。パラメーター化されたクエリは、SQL ステートメントを作成するための最良の方法です。

onclickイベントを直接設定する必要はありません。jQueryのようなライブラリには、これを行うためのはるかに優れた方法があります。

$('#my_element').click(function() { show('...'); });
于 2013-09-28T20:09:10.420 に答える
1

これを試して、

<script>
function show(str)
{
   alert(str);
}
</script>
<?php 
     $var = "This is random text with a \'random quote\'";
     echo '<a href="javascript:;" onClick="show(\''.$var.'\')">click</a>';
?>
于 2013-09-28T20:21:03.990 に答える
-2

試してみてください: addslashes($var). JavaScriptでエスケープされるように、引用符にスラッシュを追加する必要があります。

于 2013-09-28T20:10:37.533 に答える