J'essaie de limiter le nombre de caractères retournés d'une chaîne en utilisant PHP.PHP Limite de sortie de chaîne par caractères spécifiques
J'ai appliqué une solution qui semble planter sur le serveur (charge élevée/boucle infinie), donc je demande une alternative.
Je suis en train de trouver une solution qui coupe la chaîne et affiche le nombre de caractères spécifique, mais respecte toujours le sens de la phrase, à savoir qu'il ne fait pas une coupe au milieu du mot
Mon appel de fonction est la suivante:
<?php
uc_textcut(get_the_title());
?>
et dans mon functions.php c'est le code je (et il fait accident):
function uc_textcut($var) {
$position = 60;
$result = substr($var,$position,1);
if ($result !=" ") {
while($result !=" ") {
$i = 1;
$position = $position+$i;
$result = substr($var,$position,1);
}
}
$result = substr($var,0,$position);
echo $result;
echo "...";
}
mon problème est avec $position = 60
.
Plus ce nombre est élevé, plus la charge est importante - comme si la boucle était très lente.
J'imagine que quelque chose ne va pas avec while()
, mais j'essaie de le garder encore compréhensible par le visiteur, encore une fois, ne pas couper au milieu de mot.
Toute entrée?
:) merci les gars très beaucoup
Hmm ... je dois dire, c'est une pensée vraiment intelligente. Merci pour le conseil. Je l'ai appliqué ... ça marche vite et ça coûte une ligne de code. salutations –
@Ahmad: vous êtes les bienvenus :-); @Byron: l'une des bonnes choses avec PHP est qu'il y a toujours quelque chose à découvrir ;-) (et c'est une raison pour laquelle j'aime bien ^^) –