Comment highlighter un mot dans une chaine ...

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

valou2006
Nouveau WRInaute
 
Messages: 1
Inscription: Mer Mar 08, 2006 11:18

Comment highlighter un mot dans une chaine ...

Message le Mer Mar 08, 2006 11:20

Bonjour.

J'utilise un logiciel de comptabilité et je communique avec celui-ci avec du XML et des scripts php (PHP5).
Je suis entrain de réaliser une recherche d'articles.
Lorsque l'utilisateur écrit un mot clé, le programme recherche dans un libellé d'article (dans le logiciel de compta).
Je voudrais coloriser le mot dans le libellé.

J'utilise la fonction eregi_replace(). Résultat:
Lorsque je tape en majuscule, le programme affiche le libellé dans la couleur voulue et reste en majuscule. Mais lorsque je tape le même mot en minuscule, le programme affiche le libellé dans la couleur voulue mais tout ce qui est en majuscule, il le remplace en minuscule.

Comment puis-je faire pour que mon programme ne modifie pas les majuscules et les minuscules dans le libellé lorsque je colorise le mot?
J'ai essayé plusieurs fonctions mais je n'ai pas trouvé la fonction idéale.

Merci beaucoup.

Tisha
WRInaute discret
WRInaute discret
 
Messages: 54
Inscription: Mer Aoû 20, 2003 16:45

Message le Jeu Mar 09, 2006 15:14

Étrange, est-ce que le petit exemple suivant conserve les minuscules/majuscules chez toi?

Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Contraster un mot avec eregi_replace</title>
<style type="text/css">
  <!--
   body {background:white; color:black; font-family:arial,sans-serif;}
   span {background:yellow;}
  -->
</style>
</head>

<body>
<?php
$mot='eSsAi';
$html="ESSAI<p>Ceci est un EssaI, le but étant de <strong>voir</strong> si
        essai sera en ESSAI minuscule ou en <strong>eSSAi</strong> majuscule.
        </p><p>PRESSAIT contient essai, mais n'est pas le mot complet, comme
        essais, libre-essai, bancs d'essai et je cessai de voir le mot. C'est
        donc aussi un essai pour voir si :essai: dans un mot ne sera pas
        affecté.</p>ESSAI";

$recherche='(^|[[:space:][:punct:]])('.$mot.')([[:space:][:punct:]]|$)';
$replacement='\\1<span>\\2</span>\\3';

echo ' '.eregi_replace($recherche,$replacement,$html);
?>
</body>

</html>



tisha


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Bombing

  • Indice de densité
    Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page.
  • Générateur de mots-clés
    Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.
  • Google Suggest
    Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.


Qui est en ligne

Utilisateurs parcourant ce forum: Julia41 et 0 invités