Lors du développement d'un système de gestion de contenu du site Web ou de l'affichage d'articles, il est souvent nécessaire de mettre en évidence les mots clés de l'article, ce qui peut aider les utilisateurs à trouver les informations qu'ils suivent plus rapidement. Cette exigence peut être facilement réalisée grâce à la fonction Scripos de PHP. La fonction StripOS est une fonction de recherche de chaîne insensible à cas qui trouve l'emplacement d'une autre chaîne dans une chaîne spécifiée. Avec cela, nous pouvons parcourir le contenu de l'article, trouver l'emplacement des mots clés et l'envelopper dans des balises HTML pour la mise en évidence.
La syntaxe de base de la fonction Stripos est la suivante:
stripos(string $haystack, string $needle, int $offset = 0): int|false
$ Haystack : la chaîne cible à rechercher, c'est-à-dire le contenu de l'article.
$ aiguille : la sous-chaîne à trouver, c'est-à-dire les mots clés qui doivent être mis en évidence.
$ offset : De où chercher dans la chaîne, la valeur par défaut est 0.
Valeur de retour: si un mot-clé est trouvé, il renvoie la position du mot-clé dans la chaîne cible; Si cela n'est pas trouvé, il revient faux .
Étant donné que Stripos est insensible au cas, il est assuré que même si le cas du mot-clé est différent de celui de l'article, il peut être trouvé avec succès.
Ensuite, nous rédigerons une fonction via PHP qui prend le contenu de l'article et les mots clés comme paramètres pour trouver et mettre en évidence tous les mots clés correspondants.
<?php
function highlightKeyword($content, $keyword) {
// Vérifiez si le mot-clé est vide
if (empty($keyword)) {
return $content;
}
// utiliser stripos Trouver des mots clés,Et mettre en évidence
$start = 0;
while (($pos = stripos($content, $keyword, $start)) !== false) {
// Insérer à la position du mot-clé trouvé HTML Mettre en évidence la balise
$content = substr_replace($content, "<span style='background-color: yellow;'>$keyword</span>", $pos, strlen($keyword));
// Mettre à jour l'emplacement de la recherche
$start = $pos + strlen($keyword);
}
return $content;
}
$article = "Bienvenue sur notre site officiel!Ici,Vous pouvez trouver divers PHP Tutoriels et ressources de programmation。";
$keyword = "PHP";
$highlightedArticle = highlightKeyword($article, $keyword);
echo $highlightedArticle;
?>
Fonction surtoutkeyword : cette fonction reçoit deux paramètres, $ contenu et $ mot-clé . À l'intérieur de la fonction, nous utilisons des stripos pour trouver tous les mots clés qui apparaissent dans le contenu de l'article, et les remplaçons par substr_replace , et ajoutant une balise HTML de fond jaune à chaque mot-clé correspondant pour obtenir la mise en évidence.
Mots-clés de recherche de boucle : Après avoir trouvé un mot-clé dans Stripos , nous utilisons substr_replace pour insérer des balises HTML à cet emplacement et envelopper les mots clés. Dans la boucle suivante, continuez à consulter la position suivante de la position actuelle.
Résultat de retour : Après le traitement de la boucle, la fonction renvoie le contenu traité et tous les mots clés seront mis en surbrillance.
Supposons que le contenu de notre article soit:
Bienvenue sur notre site officiel!Ici,Vous pouvez trouver divers PHP Tutoriels et ressources de programmation。
Si le mot-clé que nous passons est PHP , le résultat de sortie sera:
Bienvenue sur notre site officiel!Ici,Vous pouvez trouver divers <span style='background-color: yellow;'>PHP</span> Tutoriels et ressources de programmation。
Le mot-clé PHP sera enveloppé par une étiquette de span avec un fond jaune. Lorsqu'il est rendu par le navigateur, l'effet d'affichage sera mis en évidence.
Vous pouvez modifier le style de la balise Span au besoin pour obtenir différents effets de mise en évidence. Par exemple, modifiez la couleur d'arrière-plan, la couleur de la police ou le texte audacieux. Par exemple:
$content = substr_replace($content, "<span style='background-color: yellow; font-weight: bold;'>$keyword</span>", $pos, strlen($keyword));
De cette façon, vous pouvez rendre la mise en évidence plus accrocheuse.
Grâce à la fonction Scripos de PHP, nous pouvons facilement trouver et mettre en évidence les mots clés de l'article pour améliorer l'expérience utilisateur. Cela se fait par des chaînes de nidification simplement et des balises HTML. Vous pouvez davantage développer et optimiser en fonction de vos besoins, comme traiter plusieurs mots clés, différents styles de mise en évidence, etc.