<?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); ?>'
);">
我的情况是这样的:我有一些来自数据库的文本,我需要使用标签的onclick事件将它作为参数传递给JS函数(我知道这很糟糕,但是我正在处理代码一个随机的自由职业者来自4年前,我别无选择)。我不知道文字包含什么。它可能有特殊的字符($,#,%,“,等等),它可能包含HTML标签。我尝试使用htmlentities,nl2br,用br替换nl(str_replace),将onclick事件的引号更改为单个和加倍,但它不起作用。 我必须通过3个参数。
这是我的代码的一部分。任何帮助将不胜感激。
答案 0 :(得分: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); ?>
);">