<?php

function JustifierTexte($chaine, $largeur_page) {
  
  
$fin = false;
  if (
strlen($chaine) >= $largeur_page) {

    while (!
$fin) {

      
$page = substr($chaine, 0, $largeur_page);

      if (
strlen($page) < strlen($chaine)) {
        
$fin_page = strrpos($page, " ");
        if (!
$fin_page) {
          
$fin_page = $largeur_page;
        }
        
$lignes[] = substr($chaine, 0, $fin_page);
        
$chaine = substr($chaine, $fin_page);
      } else {
        
$lignes[] = substr($chaine, 0, $fin_page);
        
$fin = true;
      }
    }

  } else {
    
$lignes[] = $chaine;
  }

  return
$lignes;
}

$nbCars = 15;

if (!isset(
$demoTexte)) {
  
$demoTexte  = "Petit message de test si ";
  
$demoTexte .= "vous n'avez pas le courage d'en taper un.";
  
$demoTexte .= " mot_beaucoup_trop_long";
} else
  
$demoTexte = stripslashes($demoTexte);

echo
"<FORM METHOD=POST ACTION=''>";
echo
"<B>Test à découper en lignes de ".$nbCars." cars. maxi</B><BR>";
echo
"<TEXTAREA NAME='demoTexte' ROWS='6' COLS='30' WRAP=VERTICAL>";
echo
htmlspecialchars($demoTexte)."</TEXTAREA>\n";
echo
"<BR><BR>&nbsp;&nbsp;<INPUT TYPE='submit' VALUE='Découper'><BR><BR>";

if (
$demoTexte != "") {

  echo
"<B><U>Texte découpé</U></B><BR>";
  
$tLignes = JustifierTexte($demoTexte, $nbCars);
  for (
$cpt = 0; $cpt < sizeof($tLignes); $cpt++)
    echo
htmlspecialchars($tLignes[$cpt])."<BR>";

}

echo
"</FORM>";

?>