Erreur PHP sur un preg_match() HELP
Résolu/Fermé
blaz32
Messages postés
155
Date d'inscription
jeudi 27 juin 2013
Statut
Membre
Dernière intervention
28 août 2014
-
Modifié par blaz32 le 7/01/2014 à 18:48
blaz32 Messages postés 155 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 28 août 2014 - 7 janv. 2014 à 21:29
blaz32 Messages postés 155 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 28 août 2014 - 7 janv. 2014 à 21:29
A voir également:
- Erreur PHP sur un preg_match() HELP
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur g030 - Forum Bbox Bouygues
- Retour a la ligne php ✓ - Forum PHP
3 réponses
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
Modifié par mandolorien le 7/01/2014 à 19:02
Modifié par mandolorien le 7/01/2014 à 19:02
voila :
pense à te servir de php.net
https://www.php.net/preg_match
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
<?php static function url($url = '') { trim($url,'/'); foreach(self::$routes as $v) { $pattern = "/".$v['originreg']."/"; if(preg_match($pattern,$url,$match)) { $url = $v['redir']; foreach($match as $k => $w) { $url = str_replace(":$k",$w,$url); } } } foreach(self::$prefixes as $k => $v) { if(strpos($url,$v) === 0) { $url = str_replace($v,$k,$url); } } return BASE_URL.'/'.$url; }
pense à te servir de php.net
https://www.php.net/preg_match
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
blaz32
Messages postés
155
Date d'inscription
jeudi 27 juin 2013
Statut
Membre
Dernière intervention
28 août 2014
10
Modifié par blaz32 le 7/01/2014 à 21:10
Modifié par blaz32 le 7/01/2014 à 21:10
Merci, mais il détecte une erreur :
Warning: preg_match() [function.preg-match]: Unknown modifier '^' C:\.. in line 95
Je ne vois pas pourquoi l'erreur se trouve à :
Warning: preg_match() [function.preg-match]: Unknown modifier '^' C:\.. in line 95
Je ne vois pas pourquoi l'erreur se trouve à :
if(preg_match($v['originreg'],$url,$match)){ou à
$pattern = "/".$v['originreg']."/"; if(preg_match($pattern,$url,$match))
blaz32
Messages postés
155
Date d'inscription
jeudi 27 juin 2013
Statut
Membre
Dernière intervention
28 août 2014
10
7 janv. 2014 à 21:29
7 janv. 2014 à 21:29
J'ai résolus mon problème en repartant de plus haut :
J'ai remplacer :
par :
C'est pour ça ^^ j'avais oublié quelques caractères dans mon expression régulière ^^
Merci quand même.
PS:votre code fonctionne aussi
J'ai remplacer :
$r['originreg'] = preg_replace('/([a-z0-9]+):([^\/]+)/','${1}:(?P<${1}>${2}',$url); $r['originreg'] = str_replace('/*','(?P<args>/?.*)',$r['originreg']); $r['originreg'] = '/^'.str_replace('/','\/',$r['originreg'].'$/');
par :
$r['originreg'] = preg_replace('/([a-z0-9]+):([^\/]+)/','${1}:(?P<${1}>${2})',$url); $r['originreg'] = str_replace('/*','(?P<args>/?.*)',$r['originreg']); $r['originreg'] = '/^'.str_replace('/','\/',$r['originreg']).'$/';
C'est pour ça ^^ j'avais oublié quelques caractères dans mon expression régulière ^^
Merci quand même.
PS:votre code fonctionne aussi