decoupage de chaine en 2

WRInaute impliqué
bonjour,


Je cherche a decouper une chaine en 2 à $max=170;
et extraire $chaine3

$chaine1=$chaine2+$chaine3

j'utilise donc le code suivant, mais
$chaine3 reste entier donc = a $chaine1

note que $chaine2 est bien decoupé à $max=170;

Si vous avez une idée, ou un autre code mais peu gournand

Code:
$max=170;
$chaine1=$tab['2'];

// if(strlen($tab['2'])>=$max){$tab['2']=substr($tab['2'],0,$max); $espace=strrpos($tab['2']," "); $tab['2']=substr($tab['2'],0,$espace)."..."; }  
if(strlen($chaine1)>=$max) {$chaine2=substr($chaine1,0,$max); $espace=strrpos($chaine1," "); $chaine2=substr($chaine1,0,$espace)."..."; }  

$chaine3=str_replace($chaine2,"","$chaine1");
 
WRInaute discret
Code:
$max=170;
$chaine1=$tab['2'];

if(strlen($chaine1)>=$max) {
$chaine2=substr($chaine1,0,$max);
$espace=strrpos($chaine1," ");
$chaine2=substr($chaine1,0,$espace)."...";
$chaine3=substr($chaine1,$espace);
}
 
WRInaute impliqué
Bh@Mp0 a dit:
Code:
$max=170;
$chaine1=$tab['2'];

if(strlen($chaine1)>=$max) {
$chaine2=substr($chaine1,0,$max);
$espace=strrpos($chaine1," ");
$chaine2=substr($chaine1,0,$espace)."...";
$chaine3=substr($chaine1,$espace);
}

merci pour le code, toutefois dans ce cas je recupere le dernier mot
separer par un espace
 
Discussions similaires
Haut