Formatage automatique d'un text en fonction de mots clées

Contenu du snippet

Je cherchais depuis quelque temps un script me permettant de souligner, ou mettre en gras certain mot dans une chaîne de caractères, n'ayant pas trouver mon bonheur je m'y suis mis tout seul ;).

Ceci est ma première contribution, tout commentaires sera le bienvenu.

Source / Exemple :


<?
/*-----------------------------------*/
/*Fonction de formatage de caratères */
/*Par Klesk 11/05/2007               */
/* v1.0                              */
/* Merci de laisser ce commentaire   */
/*-----------------------------------*/

function autoformat($string, $word, $type="b")
	{
		//on sépare les mots clées
                $tab1 = explode(' ',$word);
		foreach($tab1 as $k => $v)
			{
                                //pour chaques mots clées on remplace par le formatage choisi
				$w[] = '<'.$type.'>'.$v.'</'.$type.'>';
				$string = eregi_replace($tab1[$k], $w[$k], $string);
			}
		return $string;
	}

?>

  • /----------------------*/
  • /Version de kankrelune */
  • /inssensible a la casse*/
  • /Merci a lui */
  • /----------------------*/
<? function kankrelune_autoformat($string, $word, $style = 'font-weight:bold;') { if(is_array($word)) { $i = -1; while(isset($word[++$i])) $word[$i] = '~('.preg_quote($word[$i],'~').')~i'; } else $word = '~('.preg_quote($word,'~').')~i'; return preg_replace( $word , '<span style="'.$style.'">$1</span>', $string); } ?>

Conclusion :


//chaîne de caractères
$a = "CM Sk 462 (AMD) - Asrock - K7NF2-RAID - SATA/DDR";
//mot clées séparé par un espace
$b ="CM 462 Asrock";

//affichage du résultat
echo autoformat($a,$b).'<br/>';

bug connus : ne gère pas la casse à l'affichage, mais en tient compte lors du traitement.

j'y travail, toute contribution sera la bienvenue.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.