Déterminer une fin de paragraphe dans un texte

Déterminer une fin de paragraphe dans un texte - PHP - Programmation

Marsh Posté le 09-09-2011 à 18:15:55    

Bonjour,
 
je cherche à déterminer une fin de paragraphe dans un texte, mais les textes étant écrits par divers auteurs, il peut exister plusieurs solutions de fin de paragraphe. Le but de la manipulation est d'intégrer une image entre deux paragraphes.
 
Comme parfois un exemple est plus parlant qu'un discours : http://www.aquaportail.com/fiche-p [...] -rufa.html
 
Chaque fiche de présentation d'une espèce est accompagnée d'une photo en en-tête du contenu. J'aimerais que cette image ne soit plus en en-tête, mais après le premier paragraphe (dans ce cas précis, après "sa notoriété grandir." )
 
Comment détecter proprement une fin de paragraphe? On recherche les balises "br", "p", "div" mais aussi les \n par exemple?
 
Merci d'avance du coup de pouce.


---------------
Jef - Une passion : l'aquariophilie et l'aquascaping en aquarium d'eau de mer pour un bon maintien des animaux.
Reply

Marsh Posté le 09-09-2011 à 18:15:55   

Reply

Marsh Posté le 10-09-2011 à 11:08:45    

D'un point de vue purement sémantique xhtml, un paragraphe se trouve entre  <p>...</p>.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-09-2011 à 12:06:17    

Merci pour la réponse et je suis d'accord sur le principe en xhtml, mais en html 5 et avec des entrées réalisées par n'importe quel utilisateur, le contrôle n'est pas strict.
 
On doit pouvoir tester aussi, les <hx>, et d'autres joyeuseté qui constituent un bloc.
 
Curieux qu'il n'existe pas une extension de class Document par exemple pour cela.

Reply

Marsh Posté le 11-09-2011 à 13:49:37    

A si c'est du thml 5 .... Mais qu'est ce que tu entends par "extension de class Document" ?
 
Comment deviner les conventions aléatoire de tes users ? T'as essayé la détection de <br><br> ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 15-09-2011 à 00:35:53    

Tu dois définir tes propres règles, ex :
 
tout paragraphe contient du texte entre deux balises (mais certaines balises span, b, i, u ... sont exclues de cette règle)
 
second passage : dans un paragraphe trouvé à l'aide de la méthode précédente, toute suite de <br/> (slash optionnel) constitue une fin et un début de paragraphe. Si le paragraphe était <p>...<br/>...</p>, alors transformer en <p>...</p><p>...</p>
 
etc... A coup de transformations itératives tu vas y arriver.
 
Je te recommande à cette fin la lecture des fonctions preg_match_all, preg_replace, preg_replace_callback, strtr (avec un tableau de remplacement).
 
Good luck !


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 15-09-2011 à 09:47:18    

Un § doit se trouver au min entre 2 balises de type "block" (en sont donc exclues les balises de type "inline" ) ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed