Hoi,
// edit: ARGH! Ik zie dat de topic titel een single quote bevat, ik had daar gewoon & #039; staan (zonder spatie, als ik die hier weglaat komt er ook hier een single quote te staan)
Als je een single quote wilt escapen binnen single quotes gebruik je normaal gewoon de escape character "\". Maar voor het gemak wil ik echter de php functie htmlentities gebruiken (met ENT_QUOTES zodat single quotes ook escaped worden), en dan wordt een single quote escaped dmv & #039;.
Dit werkt echter niet in een function call. Zie het volgende voorbeeld (dat ook duidelijk maakt waarom ik het zo doe hop ik):
Een simpeler voorbeeld is natuurlijk
FireFox (eigenlijk FireBug) geeft bij het eerste voorbeeld aan het sluit haakje niet te vinden, bij het tweede voorbeeld "unterminated string literal". IE6 snapt het ook niet (maar met de foutmelding kun je niets uiteraard).
Waarom ziet javascript & #039; (zonder spatie...) als een single quote en werkt
Uiteraard kan ik de single quote wel apart escapen, maar ik wil graag weten waarom dit niet werkt. Vandaar dit topic! Enlighten me!
// edit: ARGH! Ik zie dat de topic titel een single quote bevat, ik had daar gewoon & #039; staan (zonder spatie, als ik die hier weglaat komt er ook hier een single quote te staan)
Als je een single quote wilt escapen binnen single quotes gebruik je normaal gewoon de escape character "\". Maar voor het gemak wil ik echter de php functie htmlentities gebruiken (met ENT_QUOTES zodat single quotes ook escaped worden), en dan wordt een single quote escaped dmv & #039;.
Dit werkt echter niet in een function call. Zie het volgende voorbeeld (dat ook duidelijk maakt waarom ik het zo doe hop ik):
HTML:
1
2
| <img onmouseover="overlib( 'quote this: \' ' );" /> <!-- werkt --> <img onmouseover="overlib( 'quote this: ' ' );" /> <!-- werkt niet --> |
Een simpeler voorbeeld is natuurlijk
HTML:
1
| <img onclick="alert( ''' );" /> |
FireFox (eigenlijk FireBug) geeft bij het eerste voorbeeld aan het sluit haakje niet te vinden, bij het tweede voorbeeld "unterminated string literal". IE6 snapt het ook niet (maar met de foutmelding kun je niets uiteraard).
Waarom ziet javascript & #039; (zonder spatie...) als een single quote en werkt
JavaScript:
wel gewoon?1
| alert( '' ); |
Uiteraard kan ik de single quote wel apart escapen, maar ik wil graag weten waarom dit niet werkt. Vandaar dit topic! Enlighten me!
[ Voor 9% gewijzigd door JayVee op 09-02-2007 15:23 . Reden: zie eerste [sub] alinea ]
ASCII stupid question, get a stupid ANSI!