Eregi probleem
Quote:
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
Omdat eregi() uit de tijd is moet dit wat anders worden.
Weet iemand wat dat moet worden?
Gesponsorde koppelingen:
Er staat op php.net toch ook een verwijzing naar de preg functie(s)
http://www.php.net/manual/en/ref.pcre.php
http://www.php.net/manual/en/ref.pcre.php
@Noppes: Ik heb helemaal géén verstand van dit soort expressies.
@Karl:
ar([-_][[:alpha:]]{2})?|arabic
bg|bulgarian
pt[-_]br|brazilian portuguese
ca|catalan
cs|czech
da|danish
de([-_][[:alpha:]]{2})?|german
Toevoeging op 31/07/2010 18:37:23:
Is er niet gewoon een vervanger voor, die exact hetzelfde doet?
@Karl:
ar([-_][[:alpha:]]{2})?|arabic
bg|bulgarian
pt[-_]br|brazilian portuguese
ca|catalan
cs|czech
da|danish
de([-_][[:alpha:]]{2})?|german
Toevoeging op 31/07/2010 18:37:23:
Noppes Homeland op 31/07/2010 18:23:26:
Er staat op php.net toch ook een verwijzing naar de preg functie(s)
http://www.php.net/manual/en/ref.pcre.php
http://www.php.net/manual/en/ref.pcre.php
Is er niet gewoon een vervanger voor, die exact hetzelfde doet?
Nee, d'r is niet een vervanger.
Maar zo te zien moet jou regexen het opzich wel aardig goed doen.
Je kunt eens testen met http://gskinner.com/RegExr/
Maar zo te zien moet jou regexen het opzich wel aardig goed doen.
Je kunt eens testen met http://gskinner.com/RegExr/
Hij doet het ook prima, maar ik krijg constant die meldingen.
en
En die wil ik eruit halen.
Dit:
kan toch ook gewoon met een str_replace()?
Quote:
Deprecated: Function eregi() is deprecated in .....
en
Quote:
Deprecated: Function ereg_replace() is deprecated in ......
En die wil ik eruit halen.
Quote:
Ik heb bovenstaand vervangen door substr($value, 0, 2) omdat daar de bedoelde data te vinden is. Maar er zitten er nog meerderde in dat script.
Dit:
kan toch ook gewoon met een str_replace()?
Gewijzigd op 31/07/2010 19:33:41 door - SanThe -
SanThe Nvt op 31/07/2010 19:29:49:
Hij doet het ook prima, maar ik krijg constant die meldingen.
en
En die wil ik eruit halen.
Quote:
Deprecated: Function eregi() is deprecated in .....
en
Quote:
Deprecated: Function ereg_replace() is deprecated in ......
En die wil ik eruit halen.
Quote:
Ik heb bovenstaand vervangen door substr($value, 0, 2) omdat daar de bedoelde data te vinden is. Maar er zitten er nog meerderde in dat script.
Wat zijn nou de strings die je probeert te matchen en wat wil je d'r uit halen?
In een preg_match() zullen de reguliere expressies die je nu in ereg() gebruikt waarschijnlijk ook wel werken. Let op dat je in preg_match() alleen delimiters aan je regex toe moet voegen:
De toevoeging i is een pattern modifier die zorgt dat preg_match() hetzelfde doet als eregi() ipv ereg() :-)
ps. Normaal gesproken zijn deze regexen natuurlijk niet zomaar 1-op-1 over te nemen, maar bij deze klopt de syntax volgens mij nog wel.
De toevoeging i is een pattern modifier die zorgt dat preg_match() hetzelfde doet als eregi() ipv ereg() :-)
ps. Normaal gesproken zijn deze regexen natuurlijk niet zomaar 1-op-1 over te nemen, maar bij deze klopt de syntax volgens mij nog wel.
Gewijzigd op 31/07/2010 19:35:23 door Joren de Wit
Dit zijn de $value's:
ar([-_][[:alpha:]]{2})?|arabic
bg|bulgarian
pt[-_]br|brazilian portuguese
ca|catalan
cs|czech
da|danish
de([-_][[:alpha:]]{2})?|german
En er wordt gezocht naar ar of bg of ca, etc, dus dat zijn steeds de eerste twee characters. Bovenstaand probleem heb ik zo opgelost:
Dat lijkt mij voldoende te werken.
Ik heb nu weer een nieuwe:
Maar dat kan toch ook gewoon met een str_replace()?
ar([-_][[:alpha:]]{2})?|arabic
bg|bulgarian
pt[-_]br|brazilian portuguese
ca|catalan
cs|czech
da|danish
de([-_][[:alpha:]]{2})?|german
En er wordt gezocht naar ar of bg of ca, etc, dus dat zijn steeds de eerste twee characters. Bovenstaand probleem heb ik zo opgelost:
Dat lijkt mij voldoende te werken.
Ik heb nu weer een nieuwe:
Maar dat kan toch ook gewoon met een str_replace()?
Gewijzigd op 31/07/2010 19:39:16 door - SanThe -
Niet helemaal, want die regex matcht ook 3 of meer spaties en daar houd str_replace() geen rekening mee...
Blanche PHP op 31/07/2010 19:39:49:
Niet helemaal, want die regex matcht ook 3 of meer spaties en daar houd str_replace() geen rekening mee...
Dat moet dan dit worden lijkt mij.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
// oud
$string = ereg_replace(' +', ' ', trim($string));
// nieuw
$string = preg_replace('/\s\s+/', ' ', trim($string));
?>
// oud
$string = ereg_replace(' +', ' ', trim($string));
// nieuw
$string = preg_replace('/\s\s+/', ' ', trim($string));
?>
Ik heb er weer een gevonden waar ik niet mee uit de voeten kan?
Iemand? Dit is een ereg(), hoe is dit te vervangen?
Gewijzigd op 31/07/2010 20:10:53 door - SanThe -
Edit:
Het is opzich best goed te leren. Er staat hier op PHPhulp een goede tutorial:
Klikje();
Gewijzigd op 31/07/2010 20:37:16 door Mark L
Mark L op 31/07/2010 20:35:28:
Ja, ik weet dat ik mij er ooit in moet verdiepen.
Maar ik heb daar momenteel geen tijd voor.
Dat script moet snel werken.
Toevoeging op 01/08/2010 13:44:14:
Wat doet dit?
Code (php)
En hoe zet ik dit om naar preg_match()?
SanThe Nvt op 31/07/2010 20:40:39 Toevoeging op 01/08/2010 13:44:14::
Dat lijkt mij niet correct, als dat zo is. Want volgens mij doet dat niet veel meer dan controleren of -> voorkomt in $use_function.
Deze zou je in principe gewoon om kunnen zetten in de regex /->/ voor preg_match.
Gewijzigd op 01/08/2010 14:02:10 door Karl Karl
@Karl: Bedankt.
Ik heb er nog een gevonden.
Hoe is dit met preg_replace()?
Of moet ik hier een str_replace() van maken?
Ik heb er nog een gevonden.
Hoe is dit met preg_replace()?
Of moet ik hier een str_replace() van maken?
Ik heb inmiddels van dit
Dit gemaakt
En dat blijkt ook te werken.
Maar nu heb ik naar mijn idee een vreemde
Is hier ook op een eenvoudige manier een preg_match() van te maken?
Dit gemaakt
En dat blijkt ook te werken.
Maar nu heb ik naar mijn idee een vreemde
Is hier ook op een eenvoudige manier een preg_match() van te maken?
Weet iemand wat hier staat en hoe ik dat in een preg_match kan krijgen?
^(.*)CAdminID=[a-f,0-9]+[&]*(.*)
Zie ook nog mijn vorige post aub.
^(.*)CAdminID=[a-f,0-9]+[&]*(.*)
Zie ook nog mijn vorige post aub.
Alles voor en na "CAdminID=[a-f0-9]+&*" komt resp. in $match[1] en $match[2]
Gewijzigd op 08/08/2010 14:16:35 door Martijn B


