Ga naar inhoud

PHP: Warning: REG_EPAREN ???


Aanbevolen berichten

Deze melding verschijnt er na het invullen van mijn zelfgemaakte gastenboek. Ik heb een PHP script dat de invoer van een HTML form gebruikt om de aantekening in het gastenboek te zetten. Dit werkte allemaal perfect, todat ik met reg_eparen bepaalde text frases naar afbeeldingen wilde omzetten, zodat bijv. :smile: een gifje van een echte smiley word. Ik heb inmiddels ontdekt dat hij de foutmelding alleen geeft als er een "haakje sluiten teken" in zit, dus een ) teken, dit komt voor bij een frowny : ( De regels die hij in de waarschuwing / foutmelding noemt zijn steeds de regels die "haakjes sluiten" bevatten. Verwijder ik deze regels, dan werkt het perfect, dus ook de overige regels waar reg_eparen in voorkomt werken goed. Maar ja, de bezoekers van mijn site hebben soms ook wel eens behoefte om een frowny in te typen... Iemand een idee hoe dit komt? Hier is de volledige PHP foutmelding: [code:1:e6ef0d6284] Warning: REG_EPAREN in web/gastenboek/voegtoe.php3 on line 20 Warning: Cannot add header information - headers already sent by (output started at /home/sites/site94/web/gastenboek/voegtoe.php3:20) in /home/sites/site94/web/gastenboek/voegtoe.php3 on line 41 [/code:1:e6ef0d6284] En hier heb je de regels 20 en 41 uit het PHP script: [code:1:e6ef0d6284] $reactie = ereg_replace( ":(", "<IMG SRC=gbookimg/smsmile.gif>", $reactie); header("location: bedankt.php?naam=$naam"); ?> [/code:1:e6ef0d6284]
Link naar reactie
Yep, dat werkt prima, bedankt weer wat geleerd :smile: Edoch volgende probleen: Hij herkent geen twee haakjes achter elkaar, los van het feit of dit haakjes openen of haakjes sluiten zijn. van : ) maakt hij inderdaad :smile: maar van : )) maakt hij :smile: ) Maar dan andere smileys haha) Hoe kan ik zorgen dat hij het tweede haakje niet negeerd? _________________ My name is Bond! Consumenten Bond! [ Dit bericht is bewerkt door: Gooly op 2002-04-25 11:16 ]
Link naar reactie
2 tips: 1. preg_replace is sneller, maar dat even terzijde, als je ereg gewend ben kan ik me voorstellen dat het je weinig boeit... 2. gebruik str_replace. In dit geval wil je tekens vervangen zonder wildcards of andere leuke regular expressions, gebruik str_replace dan gewoon, is vele malen sneller: $reactie = str_replace( ":(", "<IMG SRC=gbookimg/smsmile.gif>", $reactie); (haakje hoef je niet te escapen trouwens bij str_replace)
Link naar reactie
is preg_replace sneller dan ereg ?? Ik heb het nooit getest, maar in principe is POSIX (ereg) sneller dan de backtracking die preg toepast. ___________________ edit: Dat scheelt flink zeg! En ik altijd maar denken dat ik minder performance had omdat ik preg gebruik (komende van Perl). Maar inderdaad, in dit geval kun je beter str_replace, of zelfs explode gebruiken.. [ Dit bericht is bewerkt door: Jurriaan R op 2002-04-26 11:01 ]
Link naar reactie
Ik heb de replace regels bij een vriend afgekeken omdat ik me aanvankelijk suf heb gezocht op http://www.php.net naar replace functies, en door de vele varianten de bomen door het bos niet meer zag, ook bij nader bestuderen van de functies kon ik de meeste onderlinge verschillen niet ontdekken. Om er zeker van te zijn dat ik de juiste zou nemen heb ik toen een vriend gevraagd hoe hij dat had aangepakt in zijn gastenboek en het vervolgens bij mij ook zo gedaan. Maar aangezien hij dat scriptje ook maar weer van iemand had gekregen wist ie me ook niet uit te leggen hoe het zit met die varianten. DBA- ereg- eregi- hwapi- mb ereg- preg- str replace?? Ik kan er niet eens logische afkortingen voor verzinnen :smile: OK str zal wel voor string staan. Misschien dat ik momenteel meer heb aan een beginners cq dummy tutorial dan aan droge opsomming van functies. Bedankt voor je reactie, ik wil altijd iets leren :smile:
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...