Bonjour,
Je fais une fonction qui permet de mettre en gras des mots clés dans un texte automatiquement. Le soucis est qu'avec mon expression, je me retrouve avec un espace de chaque côté du mot clé et je ne sais pas trop comment les éviter.
Le code est le suivant :
exemple :
Les caractères (dans ce cas : apostrophe puis espace) jouxtant le mot clé sont du mauvais côté de la balise strong...
Si quelqu'un sait comment empêcher le preg_replace d'inclure un caractère avant et après $search dans le strong, je suis preneur !
Bonne journée,
Seraph.
Je fais une fonction qui permet de mettre en gras des mots clés dans un texte automatiquement. Le soucis est qu'avec mon expression, je me retrouve avec un espace de chaque côté du mot clé et je ne sais pas trop comment les éviter.
Le code est le suivant :
Code:
$text = preg_replace('`[^\/\-\.a-zA-z0-9\>]'.$search.'([a-zA-Z]*[^\<])`iu', '<strong>$0</strong>', $text);
exemple :
Code:
$search = 'test';
$text = "ceci est un 'test pour mon preg_replace";
Ca affichera :
ceci est un<strong>'test </strong>pour mon preg_replace
au lieu de
ceci est un '<strong>test</strong> pour mon preg_replace
Les caractères (dans ce cas : apostrophe puis espace) jouxtant le mot clé sont du mauvais côté de la balise strong...
Si quelqu'un sait comment empêcher le preg_replace d'inclure un caractère avant et après $search dans le strong, je suis preneur !
Bonne journée,
Seraph.