Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2011, 13h51   #1
Membre du Club
 
Avatar de PIEPLU
 
Inscription : avril 2003
Messages : 299
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 299
Points : 40
Points : 40
Envoyer un message via MSN à PIEPLU Envoyer un message via Skype™ à PIEPLU
Par défaut Mettre des mots en gras

Bonjour,

Je voudrais mettre certains mots en gras. J'ai fait pour le moment comme ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
function remplace($matches) { return '<strong>'.$matches[0].'</strong>'; }
function MotEnGras2($ancien,$origine) { return preg_replace_callback('/\b('.implode('|', $origine).')+(?:|s|e|es)\b/i','remplace', $ancien);}
$ancien = "salon de thé à Avignon théières.";
$titre="Simple Simon Avignon - Salon de thé et café, Salons de thé";
$origine = array();
$mots3 = explode(" ", trim(strtolower($titre)));
$exclure3 = array('a','un','une','de','la','du','le','les','des','et','dr','dr.','d','sur','sous','en','dans');
$replace = array("d'","m'","j'","qu'","c'","t'","l'","s'","n'","l'","-",",");
foreach($mots3 as $mot) {  if (!in_array($mot,$exclure3)) { $origine[] = str_replace($replace, '', stripslashes($mot));} }
$origine = array_filter($origine);
echo MotEnGras2($ancien,$origine);
Or, ca met en gras "théières" car il contient le mot "thé". Or, je ne veux ressortir que les mots exacts. Peut être un problème avec les accents ?

Une idée ?

Merci
__________________
Vincent Pieplu
Développeur Site Internet
PIEPLU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h11   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
rajoute l'option u a ton motif

ps : indente ton code
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h15   #3
Membre du Club
 
Avatar de PIEPLU
 
Inscription : avril 2003
Messages : 299
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 299
Points : 40
Points : 40
Envoyer un message via MSN à PIEPLU Envoyer un message via Skype™ à PIEPLU
Je viens d'essayer

Code :
function MotEnGras2($ancien,$origine) { return preg_replace_callback('/\b('.implode('|', $origine).')+(?:|s|e|es)\b/ui','remplace', $ancien);}
Mais ca me ressort

Citation:
Compilation failed: invalid UTF-8 string at offset 33
__________________
Vincent Pieplu
Développeur Site Internet
PIEPLU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h17   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
il faudrait que ton code php soit en utf-8
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h17   #5
Membre du Club
 
Avatar de PIEPLU
 
Inscription : avril 2003
Messages : 299
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 299
Points : 40
Points : 40
Envoyer un message via MSN à PIEPLU Envoyer un message via Skype™ à PIEPLU
Sauf que je ne peux pas toucher à l'encodage de la page :s

Quelle solution reste t'il ?
__________________
Vincent Pieplu
Développeur Site Internet
PIEPLU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 15h30   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
Citation:
Envoyé par PIEPLU Voir le message
Sauf que je ne peux pas toucher à l'encodage de la page :s

Quelle solution reste t'il ?
du fichier pas de la page, sinon essaye avec setlocale
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h22.


 
 
 
 
Partenaires

Hébergement Web