Deprecated: Function eregi_replace()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Simone Joosten

Simone Joosten

18/06/2013 20:46:38
Quote Anchor link
Hallo ik heb eindeiljk een nieuwe source helemaal werken op 2 errors na.
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
 
PHP hulp

PHP hulp

25/04/2024 12:07:18
 
Php knipper

php knipper

18/06/2013 20:53:39
Quote Anchor link
Spaar koetje op 18/06/2013 20:46:38:
hopelijk wil iemand mij hier vrijwillig helpen.


Natuurlijk niet, per post moet je betalen ;)
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 20:53:47
Quote Anchor link
eregi_replace is verouderd. Gebruik preg_replace, en pas je reguliere expressie aan.
 
Simone Joosten

Simone Joosten

18/06/2013 21:15:43
Quote Anchor link
Nee dat begrijp ik, heb lijn 46 en 47 opgelost
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
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 21:17:44
Quote Anchor link
Daar is niks mis mee. Kijk eens een paar regels verder of eerder.
 
Wouter J

Wouter J

18/06/2013 21:18:40
Quote Anchor link
1 lijn eerder gaat er wat mis
 
Simone Joosten

Simone Joosten

18/06/2013 21:22:50
Quote Anchor link
$bericht = preg_replace("/\[url=([^[]*)\]([^[]*)\[\/url\]", "<a href='1' target='_blank'>\\2</a>", $bericht)

Dat is lijn 47 die heb ik aangepast en de error ervan was dus weg, en toen kwam deze :(
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 21:27:00
Quote Anchor link
Er mist een punt-komma, en na je reguliere expressie mist ook een /
 
Simone Joosten

Simone Joosten

18/06/2013 21:32:44
Quote Anchor link
Oke punt-komma en na mijn reguliere expressie / toegevoegd, maar helaas mag het niet werken

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
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 21:47:25
Quote Anchor link
je mist een / aan het einde van je reguliere expressie. Het staat eigenlijk wel erg duidelijk in de foutmelding. Ik neem aan dat je weet wat de reguliere expressie is?
Gewijzigd op 18/06/2013 21:47:47 door - Ariën -
 
Simone Joosten

Simone Joosten

18/06/2013 21:51:48
Quote Anchor link
$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
 
Wouter J

Wouter J

18/06/2013 21:53:20
Quote Anchor link
Maar leg mij eens uit hoe je er op komt dat blank de regex is?
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 21:56:24
Quote Anchor link
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

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?
 
Simone Joosten

Simone Joosten

18/06/2013 21:56:39
Quote Anchor link
Ik dacht dat regex het onderwerp van de zin was, maar blijkbaar heb ik dat verkeerd begrepen
het is dus niet het subject ?

Searches subject for a match to the regular expression given in pattern. ik begreep dat hieruit
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 21:59:50
Quote Anchor link
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 ;-)?
 
Simone Joosten

Simone Joosten

18/06/2013 22:08:35
Quote Anchor link
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
 
Wouter J

Wouter J

18/06/2013 22:08:37
Quote Anchor link
Oké, zoals elk topic eindigen we weer in de zelfde linkjes...
- http://phptuts.nl/view/39/
- http://www.phphulp.nl/php/tutorial/php-functies/regular-expressions/520/
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 22:09:55
Quote Anchor link
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

Een kleine oogopslag op http://php.net/preg_replace doet wonderen. Een kijkje in Wouters linkjes overigens ook...
 
Simone Joosten

Simone Joosten

18/06/2013 22:22:12
Quote Anchor link
Oke opgelost eindelijk :)

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
 
- Ariën  -
Beheerder

- Ariën -

18/06/2013 22:25:16
Quote Anchor link
Die losse '1' en '2' in je preg-replace klopt niet helemaal, maar dat is niet zo heel moeilijk op te lossen lijkt me.
 
Wouter J

Wouter J

18/06/2013 22:29:28
Quote Anchor link
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 lexer parser methode
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.