Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP/JS] Probleme mit Anführungszeichen (https://www.delphipraxis.net/116852-%5Bphp-javascript%5D-probleme-mit-anfuehrungszeichen.html)

geskill 7. Jul 2008 18:25


[PHP/JS] Probleme mit Anführungszeichen
 
Hi,
bin gerade bei einem on Mouseover Problemchen:

Die Tip-Function ist eine JS Funktion um beim Mouseover ein kleines Fenster anzuzeigen.

Mit Bild gehts leider nicht:
Delphi-Quellcode:
echo '<td><span class="StilTabelValue" onmouseover="Tip(\'<img src=\'bild1.jpg\'>\')">'.htmlspecialchars($row['POSTTITLE']).'</span></td>';
Normaler Text geht:
Delphi-Quellcode:
echo '<td><span class="StilTabelValue" onmouseover="Tip(\'Normaler Text geht\')">'.htmlspecialchars($row['POSTTITLE']).'</span></td>';
Ich denke mal es liegt an den Anführungszeichen... \" - geht auch nicht :(
Gruß

alcaeus 7. Jul 2008 18:39

Re: [PHP/JS] Probleme mit Anführungszeichen
 
Schon mal
Code:
echo '<td><span class="StilTabelValue" onmouseover="Tip(\'<img src=\\\'bild1.jpg\\\'>\')">'.htmlspecialchars($row['POSTTITLE']).'</span></td>';
versucht?

Wenn du dich fragst, warum \\\': die ersten beiden Backslashes ergeben in der Ausgabe einen einzelnen Backslash, das \' ein Anfuehrungszeichen. Dein ausgegebener Code sieht so aus:
Code:
<td><span class="StilTabelValue" onmouseover="Tip('<img src=\'bild1.jpg\'>')">SomeTitle</span></td>
Also ist noch ein Backslash da, um das Anfuehrungszeichen im JS-String zu escapen. Habs soeben mit nem Alert getestet und es funktioniert.

Andere alternative:
Code:
echo '<td><span class="StilTabelValue" onmouseover="ImageTip(\'bild1.jpg\')">'.htmlspecialchars($row['POSTTITLE']).'</span></td>';
Die Funktioni ImageTip koennte so aussehn:
Code:
function ImageTip(Name) {
  Tip('[img]' + Name + '[/img]');
}
Somit wuerdest du auch wieder korrektes HTML/XHTML erzeugen, die ' sind schon lange nicht mehr Standard fuer die Begrenzung von Attributwerten ;)

Greetz
alcaeus

geskill 7. Jul 2008 23:17

Re: [PHP/JS] Probleme mit Anführungszeichen
 
Prima, es hat mit den drei /// geklappt, dass hatte ich letztlich bei SQL benutzt, aber für PHP bin ich nicht drauf gekommen ^^.
Vielen Dank :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz