Césure des mots dans du PHP

Fermé
mdpubs - 4 avril 2010 à 20:41
 mdpubs - 8 avril 2010 à 06:37
Bonjour,

Voilà, je voudrai intégrer une césure de mot dans ce code (Description). Si vous avez une idée :o) :
-------------------------------
<?php

$resultat['description'] = htmlspecialchars($resultat['description']);
if ( $type=='search' ) {
for ( $i=0; $i<$nb_mots; $i++ ) {
$resultat['description'] = keyword_in_bold($mots_reels_recherches[$i],$resultat['description']);
};
};
echo $resultat['description'];

?>
--------------------------------

Merci :o)

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 avril 2010 à 21:44
Je t'ai trouvé ça sur le web, je ne sais pas si cela t'irra ?

site:http://www.expreg.com/lire-Chaines-source


Césure sur des mots V3 Posté par Yves Maistriaux

Et voiçi encore une autre version de césure sur des mots sans couper les attributs des balises HTML
<?php
$texte = 'Unmotbientroplongécritparunenfoirédansunforum suivi d\'un autre avec balise html
<strong class="pouet" style="background-image;width:130px;"><u><b><i>énorme,
unmotvraimenténormedanscetexte</i></b></u></strong> et un mottrèslongbeaucouptroplong';

$min='25';
function coupe_mot($match,$longueur=15,$inserer='*')
{
return wordwrap($match[1],$longueur,$inserer,1);
}
$texte1=preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $texte);

echo htmlentities($texte1);
?>
0
Salut Alain,

Ouai, j'ai trouvé ça aussi, mais vu que mes variables fonctionnent du genre :

$resultat['description'] et non $description

du coup j'ai pas réussi à l'intégrer dans mon code ci-dessus. J'ai essayé pleins de façon, mais rien ne marche. Faut dire que je débutant en PHP, alors j'ai vite mes limites !

Si tu sais comment l'intégrer dans mon code ci-dessus ?

A+ :o)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 avril 2010 à 11:07
he bien mets:

$description = $resultat['description'] ;
0
Bonjour Alain,

J'ai fais ça, mais ça marche pas :

------------------------
<?php

$resultat['description'] = htmlspecialchars($resultat['description']);
if ( $type=='search' ) {
for ( $i=0; $i<$nb_mots; $i++ ) {
$resultat['description'] = keyword_in_bold($mots_reels_recherches[$i],$resultat['description']);

echo $resultat['description'];
$description = $resultat['description'] ;
$min='25';
function coupe_mot($match,$longueur=15,$inserer='*')
{
return wordwrap($match[1],$longueur,$inserer,1);
}
$description1 = preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $description);

echo htmlentities($description1);
};
};

?>
--------------------------------------

Il me met cette erreur :

--------------------------------------
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in pub-site.php on line 124

Parse error: syntax error, unexpected T_STRING in pub-site.php on line 124
--------------------------------------

La ligne 124, c'est celle là :

-----------------------------------
$description1 = preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $description);
------------------------------------

Si tu as une idée :o)...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 avril 2010 à 16:15
comme ça ça marche mieux mais le résulta n'est pas probant

$texte = 'Unmotbientroplongécritparunenfoirédansunforum suivi d\'un autre avec balise html
<strong class="pouet" style="background-image;width:130px;"><u><b><i>énorme,
unmotvraimenténormedanscetexte</i></b></u></strong> et un mottrèslongbeaucouptroplong';

$min='25';
function coupe_mot($match,$longueur=15,$inserer='<br />')
{
return wordwrap($match[1],$longueur,$inserer,1);
}
$texte1=preg_replace_callback('/\b([[:alnum:]]{'.$min.',})\b/','coupe_mot', $texte);

echo $texte1;
0
Merci Alain,


Je retiens ton idée et dès que j'aurai une minute j'essaierai. Là je suis en train de finaliser mon nouveau projet et j'ai une tonne de chose à faire. Encore quelques problèmes techniques à réglé et tout sera ok. Tes conseils m'ont été précieux. Merci une nouvelle fois :o)

Passe une belle journée.

mdpubs
0