Erreur PHP sur un preg_match() HELP
Résolu
blaz32
Messages postés
155
Date d'inscription
Statut
Membre
Dernière intervention
-
blaz32 Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
blaz32 Messages postés 155 Date d'inscription Statut Membre Dernière intervention -
Salut, j'ai une erreur de la part de PHP :
Warning: preg_match() [function.preg-match]: No ending delimiter '/' found in C:\... line 91
Voici le bout de code concerné :
Router, système d'url :
J'aurais vraiment besoin d'aide ^^
Merci d'avance :D
Warning: preg_match() [function.preg-match]: No ending delimiter '/' found in C:\... line 91
Voici le bout de code concerné :
Router, système d'url :
static function url($url = ''){
trim($url,'/');
foreach(self::$routes as $v){
if(preg_match($v['originreg'],$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;
}
J'aurais vraiment besoin d'aide ^^
Merci d'avance :D
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
- Expert php pinterest - Télécharger - Langages
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
3 réponses
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
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))
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