2012-05-28 22 views
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); ?>' 
    );"> 

我的情況是這樣的:我有一個數據庫的一些文字,我需要使用標籤的onclick事件將它傳遞給一個JS的功能參數(我知道這很爛,一切,但是我正在從四年前的一個隨機的自由職業者的代碼工作,我沒有其他選擇)。我不知道該文本包含什麼。它可能有特殊的字符($,#,%,「,」等),它可能包含HTML標籤。我嘗試使用htmlentities,nl2br,用br替換nl(str_replace),將onclick事件的引用更改爲single雙,但它不工作。 有3個參數我要過去。經過HTML實體功能參數

這裏是我的代碼的一部分。任何幫助,將不勝感激。

回答

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); ?> 
    );">