A voir également:
- Php limiter le nombre de caractères
- Caractères ascii - Guide
- Caractères spéciaux symboles clavier - Guide
- Caractères spéciaux - Guide
- Easy php - Télécharger - Divers Web & Internet
- Clavier mac caractères spéciaux - Guide
4 réponses
pour ceux qui tomberai sur le forum, voici une fonction ;)
//fonction limitation de mots
function debutchaine($chaine, $nbmots) { // 1er argument : chaîne - 2e argument : nombre de mots
$chaine = preg_replace('!<br.*>!iU', "", $chaine); // remplacement des BR par des espaces
$chaine = strip_tags($chaine);
$chaine = preg_replace('/\s\s+/', ' ', $chaine); // retrait des espaces inutiles
$tab = explode(" ",$chaine);
if (count($tab) <= $nbmots) {
$affiche = $chaine;
} else {
$affiche = "$tab[0]";
for ($i=1; $i<$nbmots; $i++) {
$affiche .= " $tab[$i]";
}
}
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
return $affiche;
}
$mots_complets = 'salut sa va bien je suis un super pote a toi on rigole tou le temp c tro dorle comme on ce marre c bien le stage ouai sa va encore c pa mal mais bon c pa tt le temp marran oui mai comme dans la vrai vie tu sais on fai pa tout le temps ce quon veu sa serait telllement rigolo sinon ahahahahahahahahahaha bebebebebebebebeeb cececececececececececec'; //data événement
$nb_mots = 150;
$mot_courts = debutchaine($mots_complets, $nb_mots);
echo $mot_courts;
salute ;)
//fonction limitation de mots
function debutchaine($chaine, $nbmots) { // 1er argument : chaîne - 2e argument : nombre de mots
$chaine = preg_replace('!<br.*>!iU', "", $chaine); // remplacement des BR par des espaces
$chaine = strip_tags($chaine);
$chaine = preg_replace('/\s\s+/', ' ', $chaine); // retrait des espaces inutiles
$tab = explode(" ",$chaine);
if (count($tab) <= $nbmots) {
$affiche = $chaine;
} else {
$affiche = "$tab[0]";
for ($i=1; $i<$nbmots; $i++) {
$affiche .= " $tab[$i]";
}
}
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
return $affiche;
}
$mots_complets = 'salut sa va bien je suis un super pote a toi on rigole tou le temp c tro dorle comme on ce marre c bien le stage ouai sa va encore c pa mal mais bon c pa tt le temp marran oui mai comme dans la vrai vie tu sais on fai pa tout le temps ce quon veu sa serait telllement rigolo sinon ahahahahahahahahahaha bebebebebebebebeeb cececececececececececec'; //data événement
$nb_mots = 150;
$mot_courts = debutchaine($mots_complets, $nb_mots);
echo $mot_courts;
salute ;)
CrazyCanuck
Messages postés
66
Date d'inscription
mercredi 16 novembre 2005
Statut
Membre
Dernière intervention
26 juillet 2006
67
30 nov. 2005 à 00:36
30 nov. 2005 à 00:36
Salut
http://ca3.php.net/manual/en/function.substr.php
bien à vous
http://ca3.php.net/manual/en/function.substr.php
bien à vous
Le message date d'un ans, mais peut importe :
Belle fonction merci !
Elle peut servir à pas mal de personnes (j'utilisais jusqu'à présent les caractères, et non les mots - pas bien pratique)...
Belle fonction merci !
Elle peut servir à pas mal de personnes (j'utilisais jusqu'à présent les caractères, et non les mots - pas bien pratique)...
martine68
Messages postés
1
Date d'inscription
mardi 29 novembre 2005
Statut
Membre
Dernière intervention
30 novembre 2005
2
30 nov. 2005 à 00:47
30 nov. 2005 à 00:47
Merci pour votre réponse rapide je vais vois cela de plus près .
Bonne soirée, Martine
Bonne soirée, Martine
23 juin 2007 à 22:02
merci beaucoup pour ta soluce bien utile et surtout bien expliquée.
@ ++
29 nov. 2008 à 18:08
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
par
if (count($tab) > $nbmots )
{
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
}
Ainsi on ajoute une toute petite condition qui fait que si l'aperçu texte contient moins de mot que la chaine complète alors on propose de lire la suite. Sinon cette proposition est inutile.
12 déc. 2012 à 03:44