


Expressions régulières PHP : Comment extraire une sous-chaîne de longueur spécifique à partir d'une chaîne
在 PHP 中,正则表达式是一种非常强大的工具,可以用来匹配、搜索和替换字符串。在一些实际应用场景中,我们常常需要从字符串中提取特定长度的子字符串,比如从手机号码中提取前三位或后四位等。本文将介绍如何使用正则表达式来实现这一功能。
- 使用 preg_match 函数
preg_match 函数是 PHP 中一个非常常用的正则表达式函数,它可以用来在字符串中搜索匹配指定模式的内容,并将匹配结果存入一个数组中。当我们需要提取特定长度的子字符串时,可以使用 preg_match 函数来实现。
下面是一个简单的示例:假设我们有一个字符串 $str,其中包含一个11位的手机号码。我们需要提取这个手机号码的前三位和后四位,可以使用 preg_match 函数实现:
$str = "13812345678"; preg_match('/^(d{3})(d{4})(d{4})$/', $str, $matches); $prefix = $matches[1]; $suffix = $matches[3]; echo "前缀是:" . $prefix . " "; echo "后缀是:" . $suffix . " ";
代码中,我们使用了一个正则表达式 '/^(d{3})(d{4})(d{4})$/' 来匹配手机号码。这个正则表达式的含义是:
- ^ 表示字符串开头;
- (d{3}) 表示匹配3个数字,并将其保存在 $matches[1] 数组中;
- (d{4}) 表示匹配4个数字,并将其保存在 $matches[2] 数组中;
- $ 表示字符串结尾。
因此,当这个正则表达式与手机号码匹配时,$matches 数组中就会包含3个元素,分别是手机号码的前缀、中间4位和后缀。我们可以通过下标访问这些元素,从而获取到手机号码的前三位和后四位。
- 使用 preg_replace 函数
除了使用 preg_match 函数来获取特定长度的子字符串之外,我们还可以使用 preg_replace 函数来替换字符串中的内容,从而达到提取子字符串的目的。这种方法的优点在于,可以一次性替换掉字符串中的多个匹配项,并且可以在替换的过程中将子字符串提取出来。下面是一个代码示例:
$str = "13812345678"; $prefix = preg_replace('/^(d{3}).*/', '$1', $str); $suffix = preg_replace('/^.*(d{4})$/', '$1', $str); echo "前缀是:" . $prefix . " "; echo "后缀是:" . $suffix . " ";
这段代码中,我们使用了两个正则表达式来提取手机号码的前三位和后四位,分别是 '/^(d{3})./' 和 '/^.(d{4})$/'。这些正则表达式的含义分别是:
- /^(d{3})./:表示匹配以3个数字开头的字符串,并且将这3个数字保存在 $1 中。. 表示匹配任意数量的字符,直到字符串结尾。
- /^.(d{4})$/:表示匹配以4个数字结尾的字符串,并且将这4个数字保存在 $1 中。. 匹配任意数量的字符,直到字符串结尾。
因此,当这些正则表达式与手机号码匹配时,我们可以通过 preg_replace 函数将字符串替换为其自身的前三位或后四位,从而达到提取子字符串的目的。
综上所述,无论是使用 preg_match 函数还是 preg_replace 函数,都可以实现从字符串中提取特定长度的子字符串的功能。具体方法可以根据实际情况进行选择,选择合适的方法能够大大提高代码的效率和可读性。
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
