String aus Php in Javascript

Zack

cookies vader
Hallo,
ich bekomme aus einem PHP-Script über das Smarty-Template System einen String:
HTML:
<a href="" onfocus="sendRequest('news')">News</a>

Diesen möchte ich mit JavaScript einlesen, das Problem hierbei ist das ich weder in dem HTML-Code die " mit ' tauschen kann noch diesen in Javascript einlesen kann. Von derTheorie her müste ich den String als erst escapen. Das Problem ist dabei, dass das Script nicht weißt wann der String endet. D.h. wenn ich folgendes mache:
Javascript:
var news = "{$link_news}".replace(/"/g, "\u0022");
was dann etwa so aussieht:
Javascript:
var news = '<a href="" onfocus="sendRequest('news')">News</a>'.replace(/"/g, "\u0022");
Dann ersetzt es die ", aber es bricht eher ab, weil im Code auch ein ' steht. Escapt also nur bis
HTML:
<a href="" onfocus="sendRequest(

Wie kann ich es lösen das der String nicht vorzeitig im Code geschlossen wird. Escapen, aber wie? Ich kann den String nicht verändern! Er muss so bleiben, da es sich um eine Templatevariable handelt, also quasi in jedem Template anders verwendet wird.

mfg
 
Zuletzt bearbeitet:
Hi,
Vielen Dank für deine Antwort.
Leider kann ich den string nicht verändern und auch keinen PHP-Code ausführen, da es sich um eine Templatedatei handelt und diese frei von PHP sein solte, bzw garnicht geparst wird.
 
Wenn du PHP-seitig nicht sicherstellen kannst, dass dieser String nicht wenigstens eines der Zeichen ' oder " nicht enthält, kannst du da rein garnichts tun, denn dies sind die beiden Zeichen, mit denen man in JS String eingrenzt. :(
 

Neue Beiträge

Zurück