Boujour à tous. ! Attention, post à rallonge à l'horizon !
Après moultes recherches infructueuses, réponses "à côté de la plaque", litres de café engloutis et paquets de chewing-gums atomisé je viens finalement appeler au secours ici. Je préviens tout de suite, c'est une idée tordue qui me travaille depuis un certain temps déjà et je n'arrive à rien pour l'instant.
Dans le cadre d'un "plug-in" pour forum/CMS, je cherche un moyen de parcourir une page (x)HTML afin de trouver, de récupérer et de remplacer des balises particulières type BBCode.
Actuellement, le traitement est effectué par PHP, le problème est que chaque système de gestion de forum / CMS gère l'affichage des posts à sa façon, et souvent par des moyens qui n'ont rien à voir (la logique reste la même mais les différences d'implémentation compliquent le déploiement du "plug-in") et celà reste de la modification assez "barbare".
Je souhaiterai donc, pour palier aux difficultés d'intégration, et pour rendre cette intégration plus "propre", utiliser javascript pour le traitement de ces 'tags' BBCode particulier, sans toucher aux fichiers du CMS ou forum (mis à part l'appel du fichier JS dans l'en-tête html).
Le script PHP utilise la fonction preg_replace_callback() pour gérer les différentes formes de balise, j'ai donc déjà les regex nécessaires que je pourrais adapter mais je n'ai pas trouvé d'équivalent javascript pour cette fonction (ou alors j'ai mal cherché) et surtout je ne vois pas comment faire pour passer le contenu de la page dans la moulinette JS .
le "squelette" actuel est le suivant :
Quelqu'un saura-t-il éclairer ma lanterne en m'indiquant la piste à suivre pour passer le contenu de la page dans cette fonction et comment reproduire le comportement de preg_replace_callback() ?
<edit>
J'oubliai, on ma conseillé d'éviter le fameux innerHTML, mais si il n'y a pas moyen de passer à côté... bein je ferai avec
</edit>
-----
Will, un bricoleur qui va bientôt ne plus avoir de cheveux
Modifié par Willmore (06 Nov 2007 - 00:20)
Après moultes recherches infructueuses, réponses "à côté de la plaque", litres de café engloutis et paquets de chewing-gums atomisé je viens finalement appeler au secours ici. Je préviens tout de suite, c'est une idée tordue qui me travaille depuis un certain temps déjà et je n'arrive à rien pour l'instant.
Dans le cadre d'un "plug-in" pour forum/CMS, je cherche un moyen de parcourir une page (x)HTML afin de trouver, de récupérer et de remplacer des balises particulières type BBCode.
Actuellement, le traitement est effectué par PHP, le problème est que chaque système de gestion de forum / CMS gère l'affichage des posts à sa façon, et souvent par des moyens qui n'ont rien à voir (la logique reste la même mais les différences d'implémentation compliquent le déploiement du "plug-in") et celà reste de la modification assez "barbare".
Je souhaiterai donc, pour palier aux difficultés d'intégration, et pour rendre cette intégration plus "propre", utiliser javascript pour le traitement de ces 'tags' BBCode particulier, sans toucher aux fichiers du CMS ou forum (mis à part l'appel du fichier JS dans l'en-tête html).
Le script PHP utilise la fonction preg_replace_callback() pour gérer les différentes formes de balise, j'ai donc déjà les regex nécessaires que je pourrais adapter mais je n'ai pas trouvé d'équivalent javascript pour cette fonction (ou alors j'ai mal cherché) et surtout je ne vois pas comment faire pour passer le contenu de la page dans la moulinette JS .
le "squelette" actuel est le suivant :
function parse_MyBBCodes(string chaine_a_traiter){
chaine_a_traiter = preg_replace_callback(regex1, fonction_balisetype1, chaine_a_traiter);
chaine_a_traiter = preg_replace_callback(regex2, fonction_balisetype2, chaine_a_traiter);
(...)
chaine_a_traiter = preg_replace_callback(regexN, fonction_balisetypeN, chaine_a_traiter);
return chaine_a_traiter
}
Quelqu'un saura-t-il éclairer ma lanterne en m'indiquant la piste à suivre pour passer le contenu de la page dans cette fonction et comment reproduire le comportement de preg_replace_callback() ?
<edit>
J'oubliai, on ma conseillé d'éviter le fameux innerHTML, mais si il n'y a pas moyen de passer à côté... bein je ferai avec
</edit>
-----
Will, un bricoleur qui va bientôt ne plus avoir de cheveux

Modifié par Willmore (06 Nov 2007 - 00:20)