[ASP] Replace Quote

Pagina: 1
Acties:
  • 108 views sinds 30-01-2008
  • Reageer

  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Ik heb een ASP variabele tussen HTML staan waarbij gebruikers die variabele zelf kunnen bepalen (Forum, maakt verder niet uit).

Alleen nu moet ie quotes chr(34) vervangen door ", omdat ik anders vage foutmeldingen krijg.. (Quotes midden tussen HTML werkt niet zo lekker..)

Echter Replace(String, chr(34), """) werkt natuurlijk niet zo lekker.. Hoe zou ik dit wel kunnen doen, zodat ik ook geen foutmelding meer krijg?

Er liep trouwens wel een ander (oud) topic over, maar daar is de juiste oplossing ook nooit gegeven...

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je kan Server.HTMLEncode gebruiken of vervang Chr(34) door &quote;

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Replace(String, chr(34), """")

Today's subliminal thought is:


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Op dinsdag 09 juli 2002 20:11 schreef Gert het volgende:
Je kan Server.HTMLEncode gebruiken of vervang Chr(34) door &quote;
Zelfde probleem :(
Op dinsdag 09 juli 2002 20:12 schreef Annie het volgende:
Replace(String, chr(34), """")
Oke dat is wel de juiste oplossing.. Thanks ;)

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Op dinsdag 09 juli 2002 20:04 schreef devv05 het volgende:

Echter Replace(String, chr(34), """) werkt natuurlijk niet zo lekker.. Hoe zou ik dit wel kunnen doen, zodat ik ook geen foutmelding meer krijg?
Je hoeft natuurlijk niet percee chr(34) te gebruiken he
kunt ook gewoon Replace(String, "", """)en natuurlijk server.htmlencode gebruiken

  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Hm.. Ik dacht dat het probleem helemaal opgelost was, maar dat blijkt dus helaas niet zo te zijn...

Zolang de " tekens op de eerste regel staan is er niks aan de hand.. Echter enters worden omgezet naar <BR>.. Wanneer na deze <BR> nog " ingevoerd worden gaat mn tabel flippen en gooit de hele layout doorelkaar..

Kan ik dit op een of andere manier voorkomen?

  • Arie
  • Registratie: Oktober 2001
  • Laatst online: 29-08 01:29

Arie

One Man Army

Misschien enkele quotes inplaats van dubbele?

Not trying to pretend the enemy that I am.


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Op woensdag 10 juli 2002 09:06 schreef Arie het volgende:
Misschien enkele quotes inplaats van dubbele?
Mjah ik heb nu als (tijdelijke) oplossing de " maar vervangen door ', om iig de foutmelding op te vangen.. Maar er moet toch wel een goede oplossing voor zijn?

  • Dennis van der Stelt
  • Registratie: Januari 2000
  • Laatst online: 18:41
En als je & code gebruikt? Dat is nl. een & in je browser. Ik weet niet precies wat de code is voor quotes, maar misschien iemand anders? Dan kun je dus je quotes " vervangen door dat specifieke html-code teken.

Doe maar gewoon, dan doe je al gek genoeg.


  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Op woensdag 10 juli 2002 13:44 schreef dvdstelt het volgende:
En als je & code gebruikt? Dat is nl. een & in je browser. Ik weet niet precies wat de code is voor quotes, maar misschien iemand anders? Dan kun je dus je quotes " vervangen door dat specifieke html-code teken.
&quote bedoel je denk ik, maar dat werkte ook niet..

Verwijderd

Gewoon een enkele " voor "" replacen en je hebt nooit meer problemen.

Verwijderd

beste deskundigen

FF een vraag, ik heb het hierbovenstaande ff allemaal geprobeerd, en ook alle andere wat uit de search kwam, maar geen van het alle gaf een oplossing. ik heb deze functie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FUNCTION fixQuotes( theString) 
    fixQuotes = REPLACE( theString, vbCrLf, &quot;&lt;BR&gt;&quot;)  
    END FUNCTION 
    
    
    paramnaam = request (&quot;paramnaam&quot;) 
    paramemail= request (&quot;paramemail&quot;) 
    paramhomepage= request (&quot;paramhomepage&quot;) 
    parambericht= request (&quot;parambericht&quot;) 



    Myrecordset.EOF then
    MySQLstatement = &quot;INSERT INTO gastenboek (naam, email, homepage, bericht)&quot; _
                    &amp; &quot;VALUES ('&quot; _
                    &amp; fixQuotes(paramnaam) &amp; &quot;','&quot; _
                    &amp; fixQuotes(paramemail) &amp; &quot;','&quot; _
                    &amp; fixQuotes(paramhomepage) &amp; &quot;','&quot; _
            &amp; fixQuotes(parambericht)  &amp; &quot;')&quot;   
    Call Myrecordset.close ()
    Call Myrecordset.open (MySQLstatement, Conn)   
    Call response.redirect(&quot;toongastenboek.asp&quot;)


Nou is het probleem niet deze code (er mist een deel maar dat is ff niet belangrijk nu) het probleem is dat ik in mijn tekst de ' wil veranderen in niets of ". Maar de code hierboven willen niet echt werken. Help??

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
en als je " vervangt door &#34 of ' door &#39
werkt dat niet?

Verwijderd

ik heb deze varianten geprobeerd:

fixQuotes = REPLACE( theString, "&#39, """") (ook met 3 en 5 keer ")
fixQuotes = REPLACE( theString, "&#38, """")
fixQuotes = REPLACE( theString, "chr(38/39), """")
fixQuotes = REPLACE( theString, " ' ", """")

Maar niets lijkt te werken

  • [harm]
  • Registratie: September 2001
  • Laatst online: 26-02-2025
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    paramnaam = request (&quot;paramnaam&quot;) 
    paramemail= request (&quot;paramemail&quot;) 
    paramhomepage= request (&quot;paramhomepage&quot;) 
    parambericht= Replace(request (&quot;parambericht&quot;) ,&quot;'&quot;,&quot;''&quot;)
    parambericht= Replace(request (&quot;parambericht&quot;) ,vbCrLf, &quot;&lt;BR&gt;&quot;)

    Myrecordset.EOF then
    MySQLstatement = &quot;INSERT INTO gastenboek (naam, email, homepage, bericht)&quot; _
                    &amp; &quot;VALUES ('&quot; _
                    &amp; fixQuotes(paramnaam) &amp; &quot;','&quot; _
                    &amp; fixQuotes(paramemail) &amp; &quot;','&quot; _
                    &amp; fixQuotes(paramhomepage) &amp; &quot;','&quot; _
            &amp; fixQuotes(parambericht)  &amp; &quot;')&quot;   
    Call Myrecordset.close ()
    Call Myrecordset.open (MySQLstatement, Conn)   
    Call response.redirect(&quot;toongastenboek.asp&quot;)

Just when I thought I was out, THEY PULL ME BACK IN!


Verwijderd

uhm ja heb ik gedacht en geprobeerd, maar het werk niet, hij geeft telkens syntaxis error, kijk ik heb dit stukje tekst bv. hallo ff testen of de foto's werken. dan krijg ik deze melding
code:
1
Syntaxisfout (operator ontbreekt) in query-expressie bericht = 'hallo ff testen of de foto's werken'.

  • [harm]
  • Registratie: September 2001
  • Laatst online: 26-02-2025
parambericht= Replace(request ("parambericht") ,"'","''")
parambericht= Replace(parambericht,vbCrLf, "<BR>")

Just when I thought I was out, THEY PULL ME BACK IN!


  • [harm]
  • Registratie: September 2001
  • Laatst online: 26-02-2025
zo dan :)

Just when I thought I was out, THEY PULL ME BACK IN!


Verwijderd

uhm nee haha, zelfde melding, frustrerend he..

  • [harm]
  • Registratie: September 2001
  • Laatst online: 26-02-2025
parambericht= Replace(request ("parambericht") ,"'","''")

als je deze dan nou eens weghaald:
parambericht= Replace(parambericht,vbCrLf, "<BR>")
dit kun je namelijk ook gewoon aan de output kant doen, dan blijven je database gegevens ook schoner.

Die eerste doet toch altijd trouw zijn werk bij mij...

Just when I thought I was out, THEY PULL ME BACK IN!


Verwijderd

mm dan zit er zeker iets anders fout dan, want als ik die weg haal doet het nog steeds niet. heel vaag? Nog ideeen?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 28-08 19:27

Crazy D

I think we should take a look.

Standaard debug werk: query niet laten uitvoeren, maar printen naar het scherm. Waardes voor en na de replace van de ' (enkele quote) met '' (2 keer een enkele quote), en goed kijken ;)
blah = Replace(detekst, "'", "''")
never fails :) Er zit dus iets anders fout...

(en een insert-query kun je "beter" met connectieobject.execute uitvoeren, aangezien deze toch geen recordset teruggeeft)

Exact expert nodig?


Verwijderd

hey
ik heb inmiddels de fout gevonden, een stukje terug in het ASP script stond nog een regel die het bericht omsloot met ' bla bla ' vandaar dat ie moeilijk deed. Nou goed eindelijk doet ie het! Nou had ik nog een vraag, meer om zo te weten, kun je nou ook meerdere woorden (bv scheldwoorden) laten vervangen binnen 1 replace? En hoe zit het met hoofdletters en kleine letters? Want a en A maakt wel verschil heb ik net gemerkt?
Pagina: 1