[PHP] \ voor een '

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Ik heb dit:
PHP:
1
<?error_reporting("E_ALL");function ParseURL($inText) {    $inText = eregi_replace("(^|[url])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"\\2]\\2[/url]",$inText);    $inText = eregi_replace("(^|[url])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"http://\\2]\\2[/url]",$inText);    $inText = eregi_replace("(^|[url])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"\\2]\\2[/url]",$inText);    $inText = eregi_replace("(^|[url])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1[url=\"ftp://\\2]\\2[/url]",$inText);    $inText = preg_replace ("/\[url=(.*?)\](.*?)\\[\/url\]/i", "<a href=\"\\1\" target=_blank>\\2</a>",$inText);    $inText = preg_replace ("/\\[url\](.*?)\\[\/url\]/i", "<a href=\"\\1\" target=_blank>\\1</a>",$inText);    return $inText;}function ParseBold($inText) {    $inText = eregi_replace("\\[b\]","<b>",$inText);    $inText = eregi_replace("\\[/b\]","</b>",$inText);    return $inText;}function ParseItalic($inText) {    $inText = eregi_replace("\\[i\]","<i>",$inText);    $inText = eregi_replace("\\[/i\]","</i>",$inText);    return $inText;}function ParseUnderline($inText) {    $inText = eregi_replace("\\[u\]","<u>",$inText);    $inText = eregi_replace("\\[/u\]","</u>",$inText);    return $inText;}function ParseQuote($inText) {    $quote_header = "<i><font size=-1>quote:</font></i><table><tr><td width=10>&amp;nbsp;<td><td><hr>";    $quote_footer = "<hr></td></tr></table>";    $inText = eregi_replace("\\[quote\]",$quote_header,$inText);    $inText = eregi_replace("\\[/quote\]",$quote_footer,$inText);    return $inText;}function ParseMessage($inText) {    $inText = htmlentities($inText);    $inText = ParseURL($inText);    $inText = ParseBold($inText);    $inText = ParseItalic($inText);    $inText = ParseUnderline($inText);    $inText = ParseQuote($inText);    $inText = nl2br($inText);    return $inText;}?>

Sorry voor de grote lap code...

Maar als ik nu door ParseMessage een string haal met een ' erin, dan wordt daar \' van gemaakt.

htmlentities uitzetten maakt niks uit.

Welke functie doet dit?!? :?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
GPC magic quotes :)
[edit] stripslashes gebruiken om het weg te halen

  • blackd
  • Registratie: Februari 2001
  • Niet online
Deze toch:
PHP:
1
<?$inText = htmlentities($inText);?>

Of heb je die nou juist uitgezet?

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


  • HansMij
  • Registratie: Mei 2002
  • Laatst online: 21:12
Dat effect kan je ook krijgen door addslashes toe te passen. Ik denk dat dit er weer uitkan door stripslashes te doen.

Verwijderd

Maar als je interesse hebt om deze slashes weer weg te halen kan je de functie strip_slashes gebruiken.

http://www.php.net/manual/en/function.stripslashes.php

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:39
code:
1
  print_r(ParseMessage("Dit is 'een' test"));

Levert op:
code:
1
  Dit is 'een' test

Ik zie het probleem niet? :?

Waarschijnlijk bevat je argument de slash al.

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Inderdaad.. ff stripslashes erbij en het werkt weer!
TNX!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op dinsdag 14 mei 2002 17:02 schreef Soultaker het volgende:
code:
1
  print_r(ParseMessage("Dit is 'een' test"));

Levert op:
code:
1
  Dit is 'een' test

Ik zie het probleem niet? :?

Waarschijnlijk bevat je argument de slash al.
Neuh, waarschijnlijk komen de argumenten binnen via een POST/GET form, waarna GPC magic quotes z'n werk gaat doen.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:39
Op dinsdag 14 mei 2002 17:04 schreef Glimi het volgende:
Neuh, waarschijnlijk komen de argumenten binnen via een POST/GET form, waarna GPC magic quotes z'n werk gaat doen.
Gezien de historie van de topicstarter denk ik ook dat 't zo gegaan is, maar dat is niet wat 'ie in z'n probleemstelling zegt!

Ontzettend irritante feature trouwens, dat magic quotes. De programmeurs die slim genoeg zijn om waar nodig stripslashes toe te voegen, zijn ook wel slim genoeg om waar nodig addslashes toe te voegen, dus daarvoor hadden ze het niet hoeven doen. De minder slimme programmeurs zitten nu natuurlijk met gecorumpeerde data in plaats van een security flaw, wat misschien een vooruitgang genoemd kan worden, maar als je minder slimme programmeurs op programmeerwerk zet dat veilig moet zijn, is er toch al iets niet in orde.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Opzouten met die magic quotes, imho. Als je dat allemaal zelf regelt is het veel duidelijker met wat voor data je te maken hebt.... imho :)

Plus dat binnen SQL officieel enkele quotes ge-escaped moeten worden met nog een enkele quote ;) Talk about scalable :D

edit
in other words: Bedankt Soultaker voor het verwoorden van mijn gedachten :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op dinsdag 14 mei 2002 17:09 schreef Soultaker het volgende:

[..]

Gezien de historie van de topicstarter denk ik ook dat 't zo gegaan is, maar dat is niet wat 'ie in z'n probleemstelling zegt!
:) Idd, maar als omdat ik dit een paar keer hebt meegemaakt, gokte ik erop ;)
Ontzettend irritante feature trouwens, dat magic quotes. De programmeurs die slim genoeg zijn om waar nodig stripslashes toe te voegen, zijn ook wel slim genoeg om waar nodig addslashes toe te voegen, dus daarvoor hadden ze het niet hoeven doen. De minder slimme programmeurs zitten nu natuurlijk met gecorumpeerde data in plaats van een security flaw, wat misschien een vooruitgang genoemd kan worden, maar als je minder slimme programmeurs op programmeerwerk zet dat veilig moet zijn, is er toch al iets niet in orde.
Dit in verband met de topicstarter :+

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

maar toch nog flink manual werk

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.