Dans PHP, stripos et in_array , les fonctions sont des outils très courants pour déterminer si un mot-clé existe dans plusieurs champs ou tableaux. Cet article vous présentera comment combiner ces deux fonctions pour réaliser cette exigence.
La fonction StripOS est utilisée pour trouver où une chaîne apparaît d'abord dans une autre chaîne. Il est similaire à la fonction STRPOS , mais Stripos est insensible à la casse.
grammaire:
stripos($haystack, $needle, $offset)
$ Haystack : La chaîne à trouver.
$ aiguille : le mot-clé à rechercher.
$ Offset : Facultatif, spécifiez par où commencer la recherche.
Si le mot-clé est trouvé, il renvoie sa position dans la chaîne $ Haystack , sinon il renvoie false .
La fonction In_Array est utilisée pour vérifier si une valeur existe dans un tableau.
grammaire:
in_array($needle, $haystack, $strict)
$ aiguille : la valeur à trouver.
$ Haystack : Le tableau à trouver.
$ strict : facultatif, indiquant s'il faut effectuer des chèques de type stricts.
Retour True Si $ cela existe dans $ Haystack , sinon faux .
Nous pouvons combiner ces deux fonctions pour déterminer si plusieurs champs contiennent un mot-clé. Supposons que nous ayons un tableau avec plusieurs champs et que nous voulons savoir si un mot-clé spécifique apparaît dans ces champs.
<?php
// Définir un tableau de champs multiples
$fields = [
'title' => 'Welcome to our website!',
'description' => 'Find great products at our online store.',
'content' => 'Visit our store today for amazing deals!'
];
// Mots-clés à rechercher
$keyword = 'store';
// utiliser in_array et stripos Déterminez si les mots clés apparaissent dans plusieurs champs
$found = false;
foreach ($fields as $field => $value) {
if (stripos($value, $keyword) !== false) {
echo "Keyword '$keyword' found in the '$field' field.\n";
$found = true;
}
}
if (!$found) {
echo "Keyword '$keyword' not found in any field.\n";
}
?>
expliquer:
Nous définissons un tableau contenant plusieurs champs tels que le titre , la description et le contenu .
Nous itérons ensuite dans ces champs et utilisons la fonction StripOS pour savoir si le mot-clé apparaît dans ces champs.
S'il est trouvé, nous sortions le nom du champ. Si cela n'est pas trouvé, la sortie n'est pas trouvée.
Supposons que nous voulons remplacer l'URL dans la chaîne par le nom de domaine m66.net , nous pouvons utiliser des stripos pour trouver l'URL et le remplacer via des opérations de chaîne. Voici un exemple simple:
<?php
// Contenu original
$content = "Check out our site at http://example.com and also visit our blog at http://example.com/blog";
// Trouver URL et remplacer le nom de domaine
$pattern = '/http(s)?:\/\/([a-zA-Z0-9\-\.]+)(\/[^\s]*)?/';
$replacement = 'http://m66.net$3';
// utiliser preg_replace Faire un remplacement
$new_content = preg_replace($pattern, $replacement, $content);
// Sortir le contenu remplacé
echo $new_content;
?>
expliquer:
Ici, nous utilisons des expressions régulières pour faire correspondre les URL.