par
Ryle » 10 mai 2007, 11:44
$page = split(’-----’, $texte) ;
Ce code va découper le contenu de la variable $texte à chaque fois qu'il trouve la chaine '-----' et mettre les différentes valeurs obtenues dans un tableau $page.
Si tu veux le remplacer, il te suffit donc, à l'identique, de remplir le tableau $page avec les différentes parties de ton texte. Tu peux à partir de la, avec les fonction strlen(), substr(), wordwrap(), découper ta chaine. wordwrap() te permet nottament d'insérer un séparateur tous les n caractères en revenant au mot précédent pour ne pas le couper. Tu pourrais aini par exemple intégrer automatiquement des '-----' et laisser le split ci-dessus fonctionner normalement.
Le problème, et le plus dur à résoudre (du moins pour moi qui ne connait pas spip) est à mon avis d'identifier les paragraphes pour ne pas couper n'importe où... A toi de voir le contenu de $texte et de voir ce qui est utilisable pour une découpe propre

(des balises html de type <p> ? peut être 2 retours charriot consécutif ? ... )
[php]$page = split(’-----’, $texte) ;[/php]
Ce code va découper le contenu de la variable $texte à chaque fois qu'il trouve la chaine '-----' et mettre les différentes valeurs obtenues dans un tableau $page.
Si tu veux le remplacer, il te suffit donc, à l'identique, de remplir le tableau $page avec les différentes parties de ton texte. Tu peux à partir de la, avec les fonction strlen(), substr(), wordwrap(), découper ta chaine. wordwrap() te permet nottament d'insérer un séparateur tous les n caractères en revenant au mot précédent pour ne pas le couper. Tu pourrais aini par exemple intégrer automatiquement des '-----' et laisser le split ci-dessus fonctionner normalement.
Le problème, et le plus dur à résoudre (du moins pour moi qui ne connait pas spip) est à mon avis d'identifier les paragraphes pour ne pas couper n'importe où... A toi de voir le contenu de $texte et de voir ce qui est utilisable pour une découpe propre :) (des balises html de type <p> ? peut être 2 retours charriot consécutif ? ... )