dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012
-
8 févr. 2010 à 22:56
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012
-
11 févr. 2010 à 23:51
Bonsoir,
Pour afficher une pt partie d'une news qui se trouvera dans une page d'accueil, j'aimerais récupérer la dernière balise html qu'on retrouvera après avoir raccourci à 200 caractères cette news. En fait on écrit un article par l'intermédiaire de fckeditor, et pour pouvoir raccourcir sans couper juste après une balise ouvrante, j'ai besoin d'un regex me permettant de connaitre la dernière balise. Après je testerai si oui ou non c une balise ouvrante et si oui j'ajouterai une balise fermante.
J'espère que j'ai été assez clair.
Voici le code me permettant de limiter l'article à 200 caractères.
Je connais relativement bien les regex mais là, c'est au dessus de mes connaissances.
J'avais trouvé la fonction php preg_match_all qui me retourne toutes les occurences dans un tableau multi dimensionnel, mais je pense qu'il y moyen d'avoir un truc plus optimisé.
Merci
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 10 févr. 2010 à 09:06
Bonjour Renfield,
Et bien, c'est une source du type:
blablabla
blablabla
blablablablabla ect...
En imaginant que je coupe la phrase au "blabla" entre les balise strong, je me retrouve avec une balise strong ouverte pouvant influencer le reste de ma page.
Et donc le but serait de voir que, après avoir coupé la phrase, la dernière balise de cette phrase est ouverte et donc par la suite mettre une balise fermante du même type.
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 11 févr. 2010 à 21:00
J'ai testé ton regex et il fonctionne bien à une exception près que j'ai oublié de mentionner. Des balise br (
) sont possible. J'ai essayé d'ajouter cette règle dans le regex mais je n'y suis pas arriver. Peut être pourra tu encore m'aider.
$chaine = "Je trouve incroyable qu'il ne veille pas fonctionner.
Chaque fois c la meme chose, mais je reviens tjs content qu'il
soit prêt a me recevoir
pourquoi pas en fait.
Antoine
";
preg_match("#[\s\S]*<(\w+).*?[^\b?/]>#",$chaine,$tab);// [^\b?/] essai pour br mais non concluant
echo $tab[count($tab)-1];
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 11 févr. 2010 à 23:51
Excellent !!!
Merci pour ton aide.
Voici le code qui permet d'afficher une partie d'un texte, comprenant des balise html, venant du base de données sans avoir d'effet indésirable sur la suite de votre site.
Et on dit merci à qui? A Renfield ;)