Mettre en gras si un mot est trouvé dans une chaine

Eléphant du PHP | 372 Messages

22 janv. 2016, 23:45

Salut à tous.

J'ai un système qui me permet de mettre en gras des mots si ils son trouvé dans une chaine mais j'aimerais passé par ma requete
je m'explique

Actuellement ca marche avec un array
// Mise en forme EM
		$forme_city = array("mot-un", "mo-deuxt"); // liste des mots
		
		// construction des valeurs de remplacement
		$remplacements= array_map(function ($f_city) {
		   return "<strong>$f_city</strong>";
		}, $forme_city);
Je récupère dans une boucle plusieurs infos plus haut dans mon code que je vous épargne mais en gros
$ligne['mots']
J'aimerais qu'il me met ce contenu en gras au lieu de taper a la main tout mon array.
merci à vous

Eléphant du PHP | 372 Messages

23 janv. 2016, 00:11

Comme par exemple .
// ******* Mise en gras ********* //
		$remplacements= array_map(function ($mot) {
		   return "<strong>$ligne['mot']</strong>";
		}, $mots);
		
		// remplacement
		$ligne['description'] = str_replace($mots, $remplacements, $ligne['description']);
Enfin pour le coup ca marche avec l'array map