2010-02-04 19 views
5

mam tę rzeczecho JavaScript z apostrofami

<? 
if (mysql_num_rows($say) == 1) { 
    $a = "cicişsin!"; 
} 
elseif (mysql_num_rows($say) == 0) { 
    $a = "<a href='javascript:LaunchPopup('a2.php','250','1');'>ciciş yap</a>"; 
} 
?> 

ale nie mogę echo $ a drugi .. wyjść na swoje "javascript: LaunchPopup (" pojedyncze cudzysłowy nie pokazano

co mogę zrobić?

Odpowiedz

11
$a = "<a href=\"javascript:LaunchPopup('a2.php','250','1');\">ciciş yap</a>"; 
+2

Przyjmijmy: $ a = "ciciş yap"; –

+2

Beter, imho. $ a = "cicis yap" – Lucas

0

Stosować backslashe, coś takiego:

$a = "<a href='javascript:LaunchPopup(\"a2.php\",\"250\",\"1\");'>ciciş yap</a>"; 
1

Ucieczka cytaty jak ten

"<a href=\"javascript:LaunchPopup(\'a2.php\',\'250\',\'1\');\">ciciş yap</a>" 
-3
$a = "<a href='javascript:LaunchPopup(a2.php,250,1)'>ciciş yap</a>"; 

będzie pracować dla Ciebie

+1

nie, nie będzie (15chars) –

+0

faktycznie będzie działać. –

+0

@Rubens może być specyficzny, ponieważ otrzymuję "javascript: LaunchPopup (a2.php, 250,1)" oon pasek zadań onb unosząc link ... Wierzę, że zadziała. –

3

Nigdy nie używaj javascript: adresy URL. Umieścić adres URL w atrybucie href gdzie należy:

$a= '<a href="a2.php" onclick="LaunchPopup(this.href, 250, 1); return false;">ciciş yap</a>'; 

Teraz nie tylko nie muszą się martwić o ucieczce (zakładając, że można uciec z numerami podając jako innych argumentów), ale także link teraz działa poprawnie po kliknięciu środkowym przyciskiem lub dodaniu zakładek, zamiast podawać błąd JavaScript.

Jeszcze lepiej, dyskretne skryptów:

<a href="a2.php" class="popup">ciciş yap</a> 

<script type="text/javascript"> 
    for (var i= document.links.length; i-->0;) { 
     if (document.links[i].className==='popup') { 
      document.links[i].onclick= function() { 
       LaunchPopup(this.href, '250', '1'); 
       return false; 
      } 
     } 
    } 
</a> 

przechowywać kodu skryptu w skryptach i na znacznikach, to nie trzeba się martwić o HTML-ucieczki.