Bonjour à tous,

Voilà je suis encore débutant dans le domaine, je suis en train de réalisé un site internet avec un système de news qui fonctionne parfaitement. J'ai utilisé la fonction "substr" pour limiter le nombre de caractère est ainsi améliorer la mise en page des news. Mon soucis le voici, j'ai limiter le nbr de caratère à 1000 mais qu'il y est plus au moins de 1000 caratères le lien "Lire la suite" s'affiche quand même.
<u>Voici ma ligne de code :</u>

echo '<div class="news_body"><p>'.substr($news'contenu'], 0, 1000).'<div id="suite"><a href="index.php?p=voir&id=' . $news'id'] . '"><i>Lire la suite ...</i></a></p></div></div>';

J'ai donc réfléchis à une condition mais je bloque à un endroit donc la condition n'est pas fini, <u>j'ai pensé à ceci :</u>

echo '<div class="news_body"><p>'.substr($news'contenu'], 0, 1000).'
if (substr($news'contenu'], 0, 1000 <=)){
echo '<div id="suite"><a href="index.php?p=voir&id=' . $news'id'] . '"><i>Lire la suite ...</i></a></p></div></div>';
}

4 réponses


PhiSyX
Réponse acceptée

Salut essaye avec isset($news'contenu'][1000]) :)
(tu peux utiliser aussi strlen mais isset est trois fois plus rapide)
Il va savoir s'il y a moins ou plus de caractères. :p
Voilà voilà

Tu peux faire un truc du genre:

<?php
if (substr($news'contenu'] >= 1000)){ 
echo '<div class="news_body"><p>'.substr($news'contenu'], 0, 1000).';
echo '<div id="suite"><a href="index.php?p=voir&id='.$news'id'].'"><i>Lire la suite ...</i></a></p></div></div>';  
}
else {
echo '<div class="news_body"><p>'.substr($news'contenu'], 0, 1000).'</div>'
}
?>

C'est qu'une idée après..

marrtin
Auteur

L'idée est bonne, fin c'est ce que j'imaginai par contre :

Warning: substr() expects at least 2 parameters, 1 given in 
C:\Program Files\wamp\www\page\index.php => if (substr($news'contenu'] >= 1000))

et si j'écris :

if (substr($news'contenu'], 0, >= 1000))

la condition ne fonctionne pas.

marrtin
Auteur

Ok merci beaucoup, sa fonctionne ! =]