[php] eregi_replace() en brackets ( [ ] )

Pagina: 1
Acties:

  • spok9
  • Registratie: November 2000
  • Laatst online: 14-09 12:30

spok9

Groen...

Topicstarter
Ik ben bezig met het maken van een searchengine voor een website, werkt perfect, alleen als er brackets in de search string voorkomen vindt mijn script dat niet leuk (alle andere special chars worden al gefilterd door bv: addslashes() ).

Ik dacht dit met het volgende simpele stukje code op te lossen:
PHP:
1
2
3
4
<?
$q = eregi_replace("[", "", $q);
$q = eregi_replace("]", "", $q);
?>

Dit gaat echter fout... Met elke andere string ipv "[" en "]" werkt het, maar met de brackets niet. Wat er ook in de string $q zit, na dit stukje code is hij helemaal leeg. Iemand een oplossing?

edit: in the allmighty manual php.net kon ik niks vinden :(

Zolang ik het zelf geloof is het goed toch?


Verwijderd

Brackets kun je volgens mijn in ereg_replace gebruiken om meerdere karakters te laten replacen:
PHP:
1
2
3
<?
ereg_replace("[-'{}"]", $subst, $var)
?>

misschien dat je daarom de brackets ook moet escapen? :?

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Je moet ze idd escapen als je eregi_replace gebruikt (met \). maar in dit geval kun je net zo goed str_replace gebruiken.

  • spok9
  • Registratie: November 2000
  • Laatst online: 14-09 12:30

spok9

Groen...

Topicstarter
Oh ja, natuurlijk |:( stom van me, had ik aan moeten denken... Thx :)

Edit: Het werkt nu perfect (met str_replace overigens ipv eregi_replace)

Zolang ik het zelf geloof is het goed toch?