Deprecated: Function eregi_replace()
ja ik heb gezocht op google, forums en toch kan ik het probleem niet vinden
De error is :
Deprecated: Function eregi_replace() is deprecated in /home/simonky109/domains/gunstreet.nl/public_html/ubb.php on line 46
Deprecated: Function eregi_replace() is deprecated in /home/simonky109/domains/gunstreet.nl/public_html/ubb.php on line 47
Wat er staat op die lijnen is het volgende:
46:
$bericht = eregi_replace("\\[email=([^\\[]*)\\]([^\\[]*)\\[/email\\]", "<a href=\"mailto:\\1\">\\2</a>",$bericht);
47:
$bericht = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$bericht);
Heb het ook op een ander forum gezet, daar krijg ik tal van informatie, maar snap niet wat ik nu precies moet doen, dus hopelijk wil iemand mij hier vrijwillig helpen.
Groetjes
Verzin a.u.b. direct een betere topictitel. Bij herhaling gaat je volgende topic op slot.
[/modedit]
Titel aangepast[/modedit]
Gewijzigd op 18/06/2013 21:14:14 door Bas IJzelendoorn
Spaar koetje op 18/06/2013 20:46:38:
hopelijk wil iemand mij hier vrijwillig helpen.
Natuurlijk niet, per post moet je betalen ;)
eregi_replace is verouderd. Gebruik preg_replace, en pas je reguliere expressie aan.
maar nu krijg ik een error op lijn 48: $bericht = preg_replace("/\[url\](.+?)\[\/url\]/si", "<a href='1' target='_blank'\>\\1\<\/a>", $bericht);
Parse error: syntax error, unexpected T_VARIABLE in /home/simonky109/domains/gunstreet.nl/public_html/ubb.php on line 48
niks mis mee. Kijk eens een paar regels verder of eerder.
Daar is 1 lijn eerder gaat er wat mis
Dat is lijn 47 die heb ik aangepast en de error ervan was dus weg, en toen kwam deze :(
Er mist een punt-komma, en na je reguliere expressie mist ook een /
heb nu dit erin staan : $bericht = preg_replace("/\[url=([^[]*)\]([^[]*)\[\/url\]", "<a href='1' target='_blank'/>\\2</a>", $bericht);
en krijg nu deze error :
Warning: preg_replace() [function.preg-replace]: No ending delimiter '/' found in /home/simonky109/domains/gunstreet.nl/public_html/ubb.php on line 46
Warning: preg_replace() [function.preg-replace]: No ending delimiter '/' found in /home/simonky109/domains/gunstreet.nl/public_html/ubb.php on line 47
ervoor terug pff
Gewijzigd op 18/06/2013 21:47:47 door - Ariën -
dat dacht ik tenminste ik heb hem achter blank geplaatst en de ; aan het einde
Maar leg mij eens uit hoe je er op komt dat blank de regex is?
Spaar koetje op 18/06/2013 21:51:48:
$bericht = preg_replace("/\[url=([^[]*)\]([^[]*)\[\/url\]", "<a href='1' target='_blank'/>\\2</a>", $bericht);
dat dacht ik tenminste ik heb hem achter blank geplaatst en de ; aan het einde
dat dacht ik tenminste ik heb hem achter blank geplaatst en de ; aan het einde
Als je dat denkt, weet je het dus niet zeker? Wat houdt je tegen om de manual op php.net van preg_replace eens te bekijken?
het is dus niet het subject ?
Searches subject for a match to the regular expression given in pattern. ik begreep dat hieruit
Quote:
.... given in pattern
Nu is het niet meer zo lastig om te weten waar je de pattern in de preg_replace functie te vinden is, lijkt me ;-)?
ik plaatste hem achter <\/a> maar dat is ook niet goed, heb dus echt geen idee wat die pattern en regex is
- http://phptuts.nl/view/39/
- http://www.phphulp.nl/php/tutorial/php-functies/regular-expressions/520/
Spaar koetje op 18/06/2013 22:08:35:
pff dacht hem gevonden te hebben :
ik plaatste hem achter <\/a> maar dat is ook niet goed, heb dus echt geen idee wat die pattern en regex is
ik plaatste hem achter <\/a> maar dat is ook niet goed, heb dus echt geen idee wat die pattern en regex is
Een kleine oogopslag op http://php.net/preg_replace doet wonderen. Een kijkje in Wouters linkjes overigens ook...
Dit moest het zijn :
$bericht = preg_replace('/\[email=([^[]*)]([^[]*)\[\/email]/', '<a href="mailto:[email protected]">2</a>', $bericht);
$bericht = preg_replace("/\[url=([^[]*)\]([^[]*)\[\/url\]/", "<a href='1' target='_blank'/>\\2</a>", $bericht);
Bedankt allemaal nu nog permission denied in mijn avatar uploaden verhelpen en alles werkt eindelijk na weken haha
$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);
Groetjes
Die losse '1' en '2' in je preg-replace klopt niet helemaal, maar dat is niet zo heel moeilijk op te lossen lijkt me.
lexer parser methode
En onregelmatig quoten klopt ook niet. En zo te zien ben je een bb parser aan het schrijven, daar bestaan betere methoden voor. Zoals de