IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Avancer une balise d'un mot dans un texte [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Avancer une balise d'un mot dans un texte
    Bonjour,

    Chuis un pauv' lettreux fabriquant en amateur des livres numériques je suis en train de coder un livre qui contient plus de 2000 notes de bas de page pour une liseuse... las, il serait souhaitable d'avancer la balise de d'appel de notes pour inclure le mot précédent de façon à ce que le lien soit plus large pour appeler la note.

    EXEMPLE : EN CODE

    mais entre le galopin et le voyou, il y a une différence<a href="../Text/notes.xhtml#note117" id="n117"><sup>117</sup></a></p>

    VISUELLEMENT

    mais entre le galopin et le voyou, il y a une différence117 ! »

    pour arriver à : EN CODE

    mais entre le galopin et le voyou, il y a une <a href="../Text/notes.xhtml#note117" id="n117">différence<sup>117</sup></a> ! »</p>

    VISUELLEMENT

    mais entre le galopin et le voyou, il y a une différence117 ! »

    Je balbutie en regex et j'ai donc l'expression réulière suivante pour la balise :

    RECHERCHE : \s(je ne sais quoi)<a href="../Text/notes.xhtml#note(\d+)" id="n(\d+)"><sup>(\d+)</sup></a></p>

    REMPLACER PAR: \s(je ne sais quoi)<a href="../Text/notes.xhtml#note\1" id="n\1"><sup>\1</sup></a></p>

    et je n'arrive pas à écrire ce qui ferait saisir le mot précédent que ce soient des caractères alphanumériques majuscules ou minuscules qui peuvent être séparer par un tiret comme le mot peut-être...

    Je travaille avec SIGIL... code mes livres artisanalement en utilisant les regex au fur à mesure où je les forge, mais là, je n'y parviens pas...)

    Si l'on pouvait m'indiquer un livre, un site (j'en ai vu plein, mais n'y ai trouvé mon bonheur) ou l'expression régulière, j'en serai au moins deux milles fois reconnaissant...)

  2. #2
    Membre habitué Avatar de denissay
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Points : 125
    Points
    125
    Par défaut
    Bonjour Patrick, soit le bienvenu sur le forum

    Tu peux essayer l'expression suivante qui capture la première partie du tag <a> ainsi que le mot le précédant et les inverse (remplacement par \2\1):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([\p{Latin}\d-']+\s*)(<a\s+href="[^>]+>)
    \p{Latin} pour inclure les lettres accentuées

    DEMO

    Bien à toi
    Une réponse utile vous a aidé ? N'oubliez pas le
    Votre problème est résolu ? N'oubliez pas le

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Cela fonctionne parfaitement...
    Superbe, cela fonctionne parfaitement, je crois même avoir compris la manip'
    Merci infiniment... Cordialement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Probleme dans une regle de recherche de mots dans un texte
    Par userjf2007 dans le forum Excel
    Réponses: 3
    Dernier message: 17/01/2012, 15h47
  2. [WD14] Creer une balise de type stylesheet dans un document XML
    Par jimmypage dans le forum WinDev
    Réponses: 1
    Dernier message: 20/12/2011, 10h05
  3. Réponses: 5
    Dernier message: 26/11/2011, 13h09
  4. Réponses: 4
    Dernier message: 15/04/2011, 17h13
  5. [Tableaux] Remplacer une seule fois un mot dans un texte.
    Par psychoBob dans le forum Langage
    Réponses: 38
    Dernier message: 24/01/2006, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo