Maison  >  Article  >  développement back-end  >  PHP renvoie la chaîne depuis la dernière occurrence d'une chaîne jusqu'à la fin d'une autre chaîne

PHP renvoie la chaîne depuis la dernière occurrence d'une chaîne jusqu'à la fin d'une autre chaîne

PHPz
PHPzavant
2024-03-21 09:51:05532parcourir

En PHP, si vous devez renvoyer une sous-chaîne de la dernière occurrence d'une chaîne à la fin d'une autre chaîne, vous pouvez utiliser la fonction intégrée strrchr() pour y parvenir. La fonction strrchr() trouvera la dernière occurrence de la chaîne spécifiée dans la chaîne cible et renverra la partie de la chaîne à la fin. Grâce à cette fonction, vous pouvez facilement intercepter le paragraphe de chaîne requis et améliorer l'efficacité et la lisibilité du code. Ci-dessous, nous présenterons en détail comment utiliser la fonction strrchr() en PHP pour réaliser cette fonction.

Obtenir la chaîne depuis la dernière occurrence de la chaîne jusqu'à la fin en PHP

Question : Comment utiliser php pour obtenir la sous-chaîne d'une chaîne en commençant par la dernière occurrence d'une autre chaîne jusqu'à la fin ?

Solution :

Il existe deux méthodes principales en PHP pour obtenir la sous-chaîne depuis la dernière occurrence d'une chaîne jusqu'à la fin :

1. Utilisez la fonction strrpos()

strrpos() 函数返回一个字符串在另一个字符串中最后一次出现的位置。我们可以使用此位置和 substr() Fonction pour extraire la sous-chaîne :

<?php
$string = "Hello World, welcome to the world of PHP!";
$substring = "world";

// 获取 "world" 在 $string 中最后一次出现的位置
$pos = strrpos($string, $substring);

// 如果字符串中存在 "world",则提取子字符串
if ($pos !== false) {
$subString = substr($string, $pos);
echo $subString; // 输出 "world of PHP!"
} else {
echo "Substring not found.";
}
?>

2. Utilisez la fonction preg_match()

La fonction

preg_match() peut effectuer des recherches expressions régulières. Nous pouvons utiliser des expressions régulières pour faire correspondre la dernière occurrence d'une sous-chaîne dans une chaîne :

<?php
$string = "Hello World, welcome to the world of PHP!";
$pattern = "/.*$substring$/";

// 执行正则表达式搜索并获取匹配项
preg_match($pattern, $string, $matches);

// 如果找到匹配项,则提取子字符串
if (isset($matches[0])) {
$subString = $matches[0];
echo $subString; // 输出 "world of PHP!"
} else {
echo "Substring not found.";
}
?>

Considérations relatives aux performances :

La fonction

strrpos() fonctionne généralement mieux que la fonction strrpos() 函数的性能通常优于 preg_match() 函数,因为它不需要执行正则表达式匹配。但是,preg_match() car elle n'a pas besoin d'effectuer une correspondance d'expression régulière. Cependant, la fonction

offre des options de recherche plus flexibles.

Bonnes pratiques :

  • Assurez-vous que la sous-chaîne existe dans la chaîne, sinon cela pourrait produire des résultats inattendus.
  • ===!== 运算符严格比较 $pos 的值,以避免误将 0 视为 falseUtilisez
  • .
  • preg_replace()Pensez à utiliser la fonction
  • pour remplacer les sous-chaînes dans une chaîne.

Autres méthodes :

En plus des méthodes ci-dessus, il existe d'autres méthodes pour obtenir la sous-chaîne de la dernière occurrence de la chaîne jusqu'à la fin, par exemple :
  • $string[$pos:]Utilisez le découpage de chaînes (
  • )
  • array_slice()Utilisez la fonction
  • Utilisez des fonctions personnalisées ou des bibliothèques tierces
🎜

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