Bonjour bonjour,
J'ai trouvé ce script qui m'intéresse car il permet une édition 'en contexte', très pratique en terme de vue globale et de gain de place.
Le problème est que je n'arrive pas à l'utiliser de manière dynamique sur un contenu qui est édité à la volé, par expression régulière, pour ajouter les balises HTML nécessaires au fonctionnement.
En réalité, j'ai un contenu structuré de manière... classique, dans des paragraphes et des titres que je veux donc éditer. Pour cela, directement à l'intérieur des containers que sont les balises <p> et <hX>, je veux poser un <span id="id_généré_par_compteur" class="editText"> [... contenu ...]</span>.
Pour cela, j'ai deux problèmes. Le premier est de réussir à appliquer ma regexp au HTML de la page, qui pour plusieurs raisons est stocké de manière difficile d'accès :
dans un fichier de stockage en PHP, on a la fonction :
fichier inclus, et fonction appelée dans la page principale avec un simple contenu();. Je n'ai pas réussi à appliquer ma regexp sur cette source, sauriez-vous me dire comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php function contenu() { ?> <h1>Titre</h1><p>Lorem Ipsum</p>... <?php } ?>
J'utilise pour l'instant ce type de code :
Comme toutes les regexp, c'est très peu lisible et compréhensible à qui n'en a pas l'habitude . En vert le nom de la balise, en bleu ses éventuels attributs, en rouge son contenu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php preg_replace('/<((p|h[1-6]))((\W[^>]*))?>(.*?)<\/\1>/', '<$1$2><span class="editText">$3</span></$1>', contenu()); ?>
Le problème est que le contenu sort brut, et non traité par la regexp.
Mon deuxième problème est moins lourd : je ne sais générer un compteur, pour rajouter un id='X' en fonction du numéro de l'occurrence (id="p1" pou le premier paragraphe rencontré, id="p2" pour le suivant, etc.).
Je serais très reconnaissant à qui pourra m'aider en partageant son savoir.
Merci d'avance !
Wadzar
Partager