Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 13h11   #1
Invité de passage
 
Homme Fred
Webmaster
Inscription : octobre 2008
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : Communication - Médias

Informations forums :
Inscription : octobre 2008
Messages : 1
Points : 0
Points : 0
Par défaut Chaine avant 1er nombre d'une URL

Bonjour à tous,

Par avance merci à ceux qui prendrons le temps de se pencher sur mon p'tit soucis. Je vais aller au plus court et compléterais au besoin.

J'utilise l'url-rewriting qui pour les urls les plus basiques se présente sous la forme suivante :

Code :
http://monsite.com/article-95-titre-de-la-page.html
Redirection htaccess pas de problème.

J'ai en php besoin de récupérer la première chaine (avant le 1er nombre) pour la personnalisation des meta-données et chargement de CSS ou JS complémentaires selon qu'il s'agisse d'un article, d'une discussion, etc.

Pour l'exemple qui m'intéresse la collecte de cette chaine se résume ainsi :

Code :
1
2
if  (ereg("^/(.*)-([0-9]+)", $url, $ref))
      $pages_ref = $ref[1];
Sauf que lorsque le titre de l'article comporte un nombre, inclu de fait dans l'url, mon regex me retourne tout ce qui précède ce dernier, et non du 1er nombre.

Exemple d'url qui pose problème :

Code :
http://monsite.com/article-95-titre-avec-le-nombre-25.html
$pages_ref = article-95-titre-avec-le-nombre alors que je voudrais article seulement.

Merci
Fred

Edit : Petite précision. Le traitement s'en serait trouvé simplifié si le formatage des urls était autre, par exemple avec un séparateur différent entre la chaîne qui m'intéresse et l'ID correspondant (article_95-titre.com), seulement ça tourne depuis un bout de temps comme ça et je me vois mal les restructurer maintenant (référencement).
freuddone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 14h19   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 228
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 228
Points : 8 611
Points : 8 611
Les éléments sont dans $_GET, c'est le principe du rewriting ...
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h56   #3
Invité régulier
 
Inscription : janvier 2009
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 23
Points : 7
Points : 7
En effet.
Si ta redirection est quelque chose comme :

Code :
RewriteRule ^article\-([0-9]+)\-[a-zA-Z0-9]+\.html$ unepage.php?id=$1&type=article
Tu peux récupérer directement le type de page dont il s'agit.
christophetd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web