Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[php] waarom "/>/" in plaats van ">"

Pagina: 1
Acties:

Onderwerpen


  • Hulkiedulkie
  • Registratie: Juni 2009
  • Laatst online: 09-11 16:00
Laatst kwam ik onderstaande tegen.

code:
1
$mystring = preg_replace("/>/",">",$mystring);


Vanwege mijn C achtergrond verving ik "/>/" door ">" maar toen werkte het niet meer: mystring bevatte zelfs niets meer.

Waarom?

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 20-11 19:54

krvabo

MATERIALISE!

Omdat / de delimiter van de reguliere expressie is.

Als je hem case insensitive zou willen matchen krijg je />/i
Het is dus puur om aan te geven welk deel van de string de reguliere expressie is, en wat niet. Je zult dus ook / (als je die wilt gebruiken) moeten escapen.

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:44
In plaats van escapen kun je ook simpelweg een andere delimiter kiezen trouwens.

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 21:08

RayNbow

Kirika <3

Is er eigenlijk nog een bepaalde reden waarom de match-opties gecodeerd als string meegegeven worden in het eerste argument van preg_replace, behalve dan dat PHP hier de syntax van Perl probeert na te bootsen?

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Niks probeert. De preg_* functies maken gebruik van libpcre.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 21:08

RayNbow

Kirika <3

Oh, dus het komt neer op "that’s how the C API works"?

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Yep.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:51

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hulkiedulkie schreef op zaterdag 28 april 2012 @ 04:08:
Vanwege mijn C achtergrond verving ik "/>/" door ">"
Waarom precies? Ik zie niet helemaal wat je C achtergrond daarmee te maken heeft eigenlijk.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
En voor deze replace heb je uberhaupt geen regex nodig, str_replace() volstaat. Of wellicht beter: htmlspecialchars() (en vergelijkbaar) als je het met die reden doet. :)

{signature}

Pagina: 1