[javascript/php] ' <-- chr(39) in javascript

Pagina: 1
Acties:

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
hoi mensen, ten eerste weet ik niet of het aan deze of de andere kant van de schutting moet, maar omdat het redelijk programmeren is gooi ik het hier maar neer.

ik ben een forum aan't bouwen in php en wil nu net als op got een quote javascriptje dat zodra je er op klikt de text uit het bericht direct in textarea geplaatst wordt

dit werkt nu, maar ik loop tegen het volgende probleem aan:

als er in de te kwoten text het teken ' zit (dus enkele quote) dan werkt het scriptje niet.
ik kan " gewoon vervangen door &nogwat; maar voor ' heb je niks, dus dit wil niet.

nu zat ik te denken om in het java scriptje het teken ' te vervangen door '+chr(39+' wat er dan voor zou moeten zorgen dat ik de string (het te kwoten bericht) sluit, het single quote teken er aan toevoeg en dan verder ga met de string
maar dit werkt ook niet op de een of ander manier.

ik heb het ook al geprobeerd met "+chr(39)+" etc. maar ik krijg het niet voor elkaar.

hier me code:
JavaScript:
1
2
3
4
5
6
7
8
9
    <SCRIPT language=javascript>
      function quote(mesg,user,time) {
        var re = new RegExp (chr(39), 'gi') ;
        mesg = mesg.replace(re, "+chr(39)+") ;

        document.reply.message.value=document.reply.message.value+'[quote][b][sup]'+user+' wrote on '+time+' the following:[/sup][/b][br]'+mesg+'[/quote]\r\n';
        document.reply.message.focus();
      }
    </SCRIPT>


mijn concrete vraag:

hoe plak ik dmv javascript in een string een enkele quote?

This message was sent on 100% recyclable electrons.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Professionele website nodig?


Verwijderd

http://hotwired.lycos.com...rence/special_characters/

toch maar vervangen door &nogwat; ? bv &#39; beetje zoeken mag wel hoor

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
mophor: jij verwijst me naar een site die praat over teken 145 en 146 ik bedoel 39 maar thanx anyway

[ Voor 109% gewijzigd door BasieP op 21-11-2003 16:45 ]

This message was sent on 100% recyclable electrons.


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:49

RM-rf

1 2 3 4 5 7 6 8 9

je gaat niet zozeer in de functie in de fout, maar al voorheen bij het hardcoded wegschrijven van de functie, waarschijnlijk heb je in de php-code iets staan als
PHP:
1
echo("<img src=\"blah.gif\" onclick=\"quote('$mesg', '$user', '$time')\">");

wanneer $mesg nu dus een enkele quote bevat klopt de eigen functie-aanroep niet meer, immers die quote daar beeindigt al de variabele, je moet $mesg dus escapen:

PHP:
1
$mesg = str_replace($mesg, "'", "\\\'")

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
RM-rf is het niet genoeg om magic quotes aan te hebben staan?
mja ik ga het in elk geval even proberen thanx

mm RM-rf:

PHP:
1
$input = str_replace("'","\\\'",$input);

dat werkt iig niet. hij replaced het wel, maar het werkt nog steeds niet omdat die java code niet op de \ let ofzo :S (hij ziet ' iig nog steeds als een special char)

PHP:
1
$input = str_replace("'","'",$input);

idem dito :(

en dat terwijl
PHP:
1
$input = str_replace("'","",$input);

het wel gewoon doet, dus de rest van de code is goed
die laatste doet het dan dus zonder de '


JavaScript:
1
2
3
4
5
6
    <SCRIPT language=javascript>
      function quote(mesg,user,time) {
        document.reply.message.value=document.reply.message.value+'[quote][b][sup]'+user+' wrote on '+time+' the following:[/sup][/b][br]'+mesg+'[/quote]\r\n';
        document.reply.message.focus();
      }
    </SCRIPT>

dat heb ik nu dan als scriptje

[ Voor 115% gewijzigd door BasieP op 21-11-2003 16:46 ]

This message was sent on 100% recyclable electrons.


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
^ niemand een oplossing?

This message was sent on 100% recyclable electrons.


  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 20-08 18:47
Probeer toch nog maar eens met \', want dat Javascript dat niet zou doen kan niet.
[google=javascript escape quote]

[ Voor 19% gewijzigd door Eegee op 22-11-2003 23:56 ]

Pagina: 1