Maison  >  Article  >  développement back-end  >  Comment PHP calcule-t-il la dernière occurrence d'une chaîne spécifiée dans la chaîne cible (insensible à la casse)

Comment PHP calcule-t-il la dernière occurrence d'une chaîne spécifiée dans la chaîne cible (insensible à la casse)

王林
王林avant
2024-03-19 16:58:05457parcourir

Comment PHP calcule-t-il la position de la dernière occurrence d'une chaîne spécifiée dans la chaîne cible (insensible à la casse) ? C'est un problème que de nombreux développeurs PHP rencontrent souvent lors du traitement des chaînes. Cet article montrera comment utiliser les fonctions intégrées de PHP pour implémenter cette fonction à travers un exemple de code pour aider les lecteurs à mieux la comprendre et l'utiliser. Suivons les conseils de l'éditeur PHP Xiaoxin et explorons comment implémenter cette technique.

Dernière position d'occurrence d'une chaîne insensible à la casse en PHP

Citation

En php, calculer la position de la dernière occurrence d'une chaîne spécifiée dans une chaîne cible (insensible à la casse) est une tâche courante dans le traitement de texte. Cet article détaillera comment utiliser les fonctions intégrées de PHP et les expressions régulières pour obtenir cette fonctionnalité.

Utilisez les fonctions intégrées strrpos()

strrpos() La fonction peut être utilisée pour rechercher la dernière occurrence d'une sous-chaîne spécifiée dans une chaîne, sans tenir compte de la casse. Sa syntaxe est la suivante :

int strrpos(string $haystack, string $needle, int $offset = 0)

Parmi eux :

  • $haystack : chaîne cible
  • $needle : La sous-chaîne à trouver
  • $offset : Décalage facultatif, spécifiant la position dans la chaîne pour commencer la recherche (la valeur par défaut est 0)

Si la sous-chaîne est trouvée, la fonction renvoie la position de sa dernière occurrence ; sinon, -1 est renvoyée.

Exemple :

$haystack = "Hello, world! Hello, PHP!";
$needle = "hello";
$result = strrpos($haystack, $needle, 10); // 从偏移量 10 开始搜索
if ($result !== -1) {
echo "子字符串最后一次出现的位置:$result";
}

Sortie :

子字符串最后一次出现的位置:21

Utilisez des expressions régulières

Les expressions régulières sont un puissant outil de correspondance de modèles qui peut également être utilisé pour trouver la dernière occurrence d'une sous-chaîne dans une chaîne. Le modèle d'expression régulière .*? peut être utilisé pour faire correspondre n'importe quelle séquence de caractères principaux jusqu'à ce qu'une sous-chaîne soit trouvée.

Exemple :

$haystack = "Hello, world! Hello, PHP!";
$needle = "hello";
$pattern = "/.*?{$needle}/i"; // 使用不区分大小写的标志 i
$result = preg_match($pattern, $haystack, $matches);
if ($result) {
echo "子字符串最后一次出现的位置:".strlen($matches[0]) - strlen($needle);
}

Sortie :

子字符串最后一次出现的位置:21

Résumé

PHP fournit plusieurs méthodes pour calculer la position de la dernière occurrence d'une chaîne spécifiée dans la chaîne cible, sans tenir compte de la casse. Les fonctions intégrées strrpos() trouvent la dernière occurrence d'une sous-chaîne rapidement et facilement, tandis que les expressions régulières offrent des options plus flexibles. En fonction des exigences spécifiques de votre application, le choix de la méthode appropriée peut améliorer l'efficacité et la précision de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer