Menu

Difficultés à créer des expressions régulières [Résolu/Fermé]

Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
- - Dernière réponse : AurelieLi
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
- 21 juil. 2016 à 16:45
Bonjour,

J'espère poser ma question au bon endroit :-)

J'ai interrogé la communauté du forum Wordpress francophone mais personne ne semble savoir m'aider et la question ne porte pas directement sur Wordpress. Bien sûr, si la résolution intervenait, je viendrais le dire ici ;-)

Bref, voici ma difficulté :

Je viens tout juste de réussir à migrer mon ancien blog over-blog sur Wordpress. J'ai été aidée pour la partie technique et ai aussi suivi le tuto de cuisine addict : http://cuisine-addict.com/migration-ove … wordpress/

Celle-ci indique ce qu'il faut entrer dans le plugin redirection pour que les liens ne soient pas cassés mais je n'arrive pas à adapter à mon cas. J'ai entré les "formules" qu'elle indique mais elles ne semblent pas fonctionner pour mon blog, sans doute parce que les URLs sont différentes. J'ai aussi lu le tuto suivant : http://blog.infowebmaster.fr/1121-redir … -wordpress

Sur overblog, il y a plusieurs types d'URLs. Celles du début, celles depuis 2011 et d'autres encore, antérieures à mon achat de nom de domaine (c'est moins grave si pas solution pour ces dernières).

La configuration expliquée par Cuisine addict :

Pour Overblog V2, les adresses de vos articles étaient du type:
www.mondomaine.fr/article-titre-de-mon-article-123456
url source: /article-(.*)-(d*).html
url cible: /$1/

Et pour Overblog Kiwi:
www.mondomaine.fr/2014(année)/03(mois)/titre-de-mon-article
url source: /(d*)/(d*)/(.*).html
url cible: /$3/

Malheureusement, aucune de ces expressions n'a fonctionné dans mon cas.

J'ai réussi à réorienter les adresses les plus anciennes :

http://leblogdelili.fr/article-sicile-jour-4-randonnee-volcanique-sur-l-etna-81028230.html
(.*).html
http://leblogdelili.fr/article-sicile-jour-4-randonnee-volcanique-sur-l-etna-81028230/
/$1

Par contre, impossible de faire fonctionner les plus récentes.

http://www.leblogdelili.fr/2015/10/deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015.html
La traduction : /(d*)/(d*)/(.*).html
Ce que j'ai testé : /$1-$2-$3
CE QUE JE VEUX : http://leblogdelili.fr/2015-10-deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015/
CE QUE J'AI EU : http://leblogdelili.fr/2015/10/deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015
Cela ne fonctionne pas non plus avec /$3/

Auriez-vous une idée ?

Savez-vous également s'il existe une solution pour les anciennes URL (liens internes établis il y a plusieurs années avant achat du nom de domaine) ?
http://le-blog-de-lili.over-blog.com/article-sweeney-todd-le-diabolique-barbier-de-fleet-street-au-chatelet-73811900.html

Un grand merci !

Bonne journée :-)



Afficher la suite 

3 réponses

Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
358
0
Merci
Bonjour

je ne me suis pas amusé à lire tous tes tutos, surtout qu'ils pointent eux même vers d'autres tutos....

Le concept de la regex est celui-ci:
Il s'agit d'un outil universel (ou presque) d'analyse et traitement de texte.
Il se base sur un langage universel (ou presque) permettant de définir le modèle de texte à chercher et traiter.
Une fois le(s) texte(s) extrait(s), c'est dans le langage que tu utilises que tu vas coder le traitement, et c'est là que ça diffère le plus, mais pas que, par exemple pour ta regex tu utilises des groupements () que tu récupères par leur numéro, en .Net on peut leur donner un nom, au lieu de se demander qui est 1 ou 2, et bien on utilise annee ou titre.

Il est parfois compliqué de trouver une regex qui représente tous les cas, surtout quand on débute dans ce langage.
Il te faudra peut être écrire une regex par type d'url.

Il existe des sites ou on peut tester le résultat de sa regex. Ce qui est bien pratique.
https://www.google.fr/search?rls=com.microsoft:fr-FR:IE-Address&q=regex+tester+online&spell=1&sa=X&ved=0ahUKEwi8yp_rqITOAhWEAxoKHRkHDtIQvwUIGygA&biw=1366&bih=654

Voilà un tuto bien fait, orienté .Net, mais le début c'est 100% regex
http://lgmorand.developpez.com/dotnet/regex/

Voilà pour la généralité, pour ton cas précis.
Les exemples que tu montres sont une adaptation, en effet d* ne signifie pas un ou plusieurs chiffres comme l'indique le tuto, mais un ou plusieurs d.
La bonne syntaxe serait \d.
Disons que par simplicité ce plugin enlève le \, comment on fait avec le . qui signifie "n'importe quel caractère"? .html signifie donc "n'importe quel caractère suivi de html"
Je me demande si le site n'a pas "mangé" les \.

C'est déjà arrivé ici....
Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
358
0
Merci
Voilà un exemple sur un site de test avec la syntaxe normale.



Tu peux agrandir l'image en cliquant dessus.

Le pattern de la regex est
http://www.leblogdelili.fr/(\d{4})/(\d{2})/(.*)\.html

AurelieLi
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
-
Merci encore !
Ca marche avec :
/(\d{4})/(\d{2})/(.*)\.html
/$1-$2-$3
Pour les redirections restantes, je verrai au cas par cas. Je ne pense pas pouvoir rediriger les très vieilles adresses http://le-blog-de-lili.over-blog.com mais ce ne sont pas les URL majoritaires.
Bonne journée :-)
Whismeril
Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
358 > AurelieLi
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
-
Le problème avec les vieilles url est qu'il n'y a pas la datation, enfin si tu veux la conserver.

Ce pattern
http://le-blog-de-lili.over-blog.com/(.*).html
retourne le titre en $1.
Tu peux éventuellement tous les classer en janvier 2000
/2000-01-$1
AurelieLi
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
> Whismeril
Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
-
La date n'a pas d'importance pour moi.
Par contre, le plugin ne permet malheureusement pas de faire la redirection :
"You can only redirect from a relative URL (/(.*).html) on this domain (leblogdelili.fr)."
Snif :-/
Mais merci ;-)
Whismeril
Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
358 -
Tu peux peut être ajouter un commentaire sur le tuto précisant le manque de \
AurelieLi
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
> Whismeril
Messages postés
13515
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juillet 2019
-
Je vais en parler à la blogueuse qui l'a fait :-) Et j'ai fait un lien vers cette conversation depuis le forum wordpress sur lequel personne n'avait d'idée de réponse ;-)
Messages postés
78
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
1 juillet 2019
0
Merci
Merci beaucoup pour l'envoi de ces ressources. Je regarde cela de près et te tiens au courant :-)
Bon après-midi !