Probleme , wraping ... - PHP - Programmation
Marsh Posté le 20-07-2002 à 10:03:37
je ne sais pas ce que tu souhaite faire exactement mais si j'ai bien compris tu veux coupé une prase et mettre l'autre a la ligne
est ce dans le code que tu veux que ça aille a la ligne ou a l'affichage? car si c'est a l'affichage c'est un <br> qu'il faut mettre si c'est dans le code source c'est bien un \n qu'il faut mettre mais pourrais tu me donné plus de precision sur ce que tu veux faire exactement car ta fonction me parait confuse surtout un samedi matin :-)
Marsh Posté le 19-07-2002 à 20:19:50
Bonjour , j'ai mon script qui est censé coupé une phrase et de mettre le reste a la ligne sans couper au milieur d'un mot mais y m'affiche tout sur une ligne , merci d'avance de m'aider !!!
<form name="Texte" method="post" action="cut.php3">
<p>
<input type="text" name="formulaire">
</p>
<p>
<input type="submit" name="Submit" value="Envoyer">
</p>
</form>
<?
/* word_wrap($formulaire, $cols, $prefix)
*
* Takes $formulaire, and wraps it on a per-word boundary (does not clip
* words UNLESS the word is more than $cols long), no more than $cols per
* line. Allows for optional prefix string for each line. (Was written to
* easily format replies to e-mails, prefixing each line with "> ".
*
* Copyright 1999 Dominic J. Eidson, use as you wish, but give credit
* where credit due.
*/
function word_wrap ($formulaire, $cols = 10, $prefix = "" ) {
$t_lines = split( "\n", $formulaire);
$outlines = "";
while(list(, $thisline) = each($t_lines)) {
if(strlen($thisline) > $cols) {
$newline = "";
$t_l_lines = split(" ", $thisline);
while(list(, $thisword) = each($t_l_lines)) {
while((strlen($thisword) + strlen($prefix)) > $cols) {
$cur_pos = 0;
$outlines .= $prefix;
for($num=0; $num < $cols-1; $num++) {
$outlines .= $thisword[$num];
$cur_pos++;
}
$outlines .= "\n";
$thisword = substr($thisword, $cur_pos, (strlen($thisword)-$cur_pos));
}
if((strlen($newline) + strlen($thisword)) > $cols) {
$outlines .= $prefix.$newline."\n";
$newline = $thisword." ";
} else {
$newline .= $thisword." ";
}
}
$outlines .= $prefix.$newline."\n";
} else {
$outlines .= $prefix.$thisline."\n";
}
}
return $outlines;
}
?>
<? echo word_wrap ($formulaire, 10, "" ) ;
?>
Message édité par Gilgamesh le 19-07-2002 à 21:37:12