[php]Regular Expression met een \

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
Hoi, als ik een bestandsnaam wil opslaan in een database, helemaal compleet, dus ook met de '\' 's, waar een dir zit, dan kan dat niet. Nu wil ik dus de \'s gaan escapen. :)

c:\windows\blaat.hoi moet dus worden: c:\\windows\\blaat.hoi

Ik dacht zelf aan zoiets:
PHP:
1
$line = preg_replace("\\", "\\\\", $line);

Waarin $line dus de complete bestandsnaam is

Dit mag niet:
Warning: Delimiter must not be alphanumeric or backslash in 'bestandje' on line 50

Hoe moet ik het dan doen? Het is toch wel mogelijk? :?

Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Je moet het eigenlijk doen met str_replace omdat dat sneller in dan regular expressions.
Of nog beter: voor gegevens in je database gebruik je addSlashes of mysql_escape_string.

Maar als je het persee met regular expressions wilt doen verdubbel dan overal je slashes en ga fijn nadenken waarom dat moet :)

oja en nog delimiters, met dank aan Orphix :)

[ Voor 9% gewijzigd door CyberSnooP op 06-12-2002 13:01 ]

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Je hoeft hiervoor niet persee regular expressions te gebruiken. Dit is immers een simpele search/replace actie.
Je kan hiervoor beter str_replace() gebruiken. Voordeel is direct dat deze wel werkt op de manier zoals jij het wilt ;)
Als je toch deze functie wilt gebruiken: je regular expression moet nog delimiters hebben, dus het wordt bijvoorbeeld "|\\\\|"

[edit]ohja en nog extra backslash :+ en ik moet sneller reageren

[ Voor 13% gewijzigd door Orphix op 06-12-2002 13:00 ]


Acties:
  • 0 Henk 'm!

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
PHP:
1
$line = str_replace("\\", "\\\\", $line);


Dit werkt idd wel.. stom van me |:( Thnx, ik had deze functie al eerder geprobeerd, maar dan zonder de dubbele \'s, dom dom dom :+

Acties:
  • 0 Henk 'm!

Verwijderd

Heb je niks aan deze functie:
http://www.php.net/manual...n.mysql-escape-string.php

Mzzl, Ronald