0
<?php
$var1 = str_replace('\n', "<br/>", $var1);
$var2 = str_replace('\n', "<br/>", $var2);
$var3 = str_replace('\n', "<br/>", $var3);

/*
$var1 = nl2br($var1);
$var2 = nl2br($var2);
$var3 = nl2br($var3);
*/
?>

<a href="javascript:" class="history_link" style="color:<?php echo $color; ?>" onclick="showPopUpWindow(
   '<?php echo htmlentities($var1, ENT_QUOTES); ?>',
   '<?php echo htmlentities($var2, ENT_QUOTES); ?>',
   '<?php echo htmlentities($var3, ENT_QUOTES); ?>'
   );">

私の状況は次のとおりです: DB からのテキストがあり、タグの onclick イベントを使用して、パラメーターとして JS 関数に渡す必要があります (これが悪いことはすべて知っていますが、ランダムなコードに取り組んでいます4年前のフリーランサーの男で、他に選択肢がありません)。テキストの内容がわかりません。特別な文字 ($、#、%、"、' など) が含まれている可能性があり、HTML タグが含まれている可能性があります。 double でも動作しません.3 つのパラメータを渡さなければなりません.

これが私のコードの一部です。任意の助けをいただければ幸いです。

4

1 に答える 1

0

試しましたjson_encodeか?

<a href="javascript:" class="history_link" style="color:<?php echo $color; ?>" onclick="showPopUpWindow(
   <?php echo json_encode($var1); ?>,
   <?php echo json_encode($var2); ?>,
   <?php echo json_encode($var3); ?>
   );">
于 2012-05-28T08:02:56.553 に答える