php mbstring强大扩展

简介: php mbstring强大扩展

前言

学习学习php扩展的使用

一、php扩展是什么?

二、使用步骤

1.mbstring

代码如下(示例):

<?php
//当前php版本支持的所有编码,形成一个数组.我用的是php7.3.4
print_r(mb_list_encodings());

<?php
mb_internal_encoding('UTF-8');/* 设置内部字符编码为 UTF-8 */
$a = "陈业贵";
$length = mb_strlen($a);//获取字符串变量的长度
echo $length;

<?php
mb_internal_encoding('GBK');/* 设置内部字符编码为GBK */
$a = "陈业贵";
$length = mb_strlen($a);//获取字符串变量的长度
echo $length;

<?php
// 设置/获取当前的语言。设置成Unicode
if (mb_language("uni")) {
    echo "mb_language('uni[utf-8]') => SUCCESS".'<br>';
}

<?php
// mb_substr_count  =>  统计字符串出现的次数
echo mb_substr_count('研究源码教程源码111源码', '源码').'<br>';

<?php
//\s 是正则表达式中的一个特殊字符组,表示匹配任意空白字符。.以空白空格来分割
print_r( mb_split("\s", "hello world") );

<?php
$str = '研究源码教程';
echo mb_detect_encoding($str).'<br>'; /* 使用当前的 detect_order 来检测字符编码 */
echo mb_detect_encoding($str, "auto").'<br>'; /* "auto" 将根据 mbstring.language 来扩展 */

<?php
// mb_ereg_search — 正则查找字符串
$str = "中国abc + abc ?!?!字符# china string";
$reg = "\w+";
mb_regex_encoding("UTF-8");
mb_ereg_search_init($str, $reg);
$r = mb_ereg_search();
if(!$r)
{
    echo "null\n";
}
else
{
    $r = mb_ereg_search_getregs(); 
    do
    {
        var_dump($r[0]);
        $r = mb_ereg_search_regs();
    }
    while($r);
}

解释:

$str 是待匹配的字符串,包含了中文、英文和特殊字符。

KaTeX parse error: Undefined control sequence: \w at position 20: …是用于匹配的正则表达式,其中 \̲w̲+ 表示匹配一个或多个字母!!…str, $reg) 初始化多字节正则表达式搜索,指定要搜索的字符串和正则表达式。

mb_ereg_search() 执行多字节正则表达式搜索,返回一个布尔值表示是否找到匹配。

如果搜索结果为假(即没有找到匹配),则输出 “null”。

如果搜索结果为真(找到了匹配),则使用 mb_ereg_search_getregs() 获取第一个匹配结果,并通过 var_dump() 输出。

使用 mb_ereg_search_regs() 获取下一个匹配结果,并通过循环重复此过程,直到没有更多的匹配结果。

<?php
$test = mb_ereg_match(".*a", "some apples"); // returns true
echo $test;//返回1代表有

解释:

mb_ereg_match(“.*a”, “some apples”) 的作用是判断字符串 “some apples” 是否与正则表达式 “.*a” 匹配。该正则表达式表示任意字符(可以包含空格)后面跟着字母 “a”。

根据示例,“some apples” 包含字符 “a” 并在末尾,因此与正则表达式匹配。所以,mb_ereg_match() 函数将返回 true。

<?php
$input = "The number 5 is greater than 3 and less than 10.";
$result = mb_ereg_replace_callback(
    "[0-9]+",
    function ($matches) {
        $number = intval($matches[0]);
        return $number * $number;
    },
    $input
);
echo $result;

解释:

$input 是待处理的字符串,其中包含了一些数字。

使用 mb_ereg_replace_callback() 函数对输入字符串进行正则表达式匹配和替换操作。

正则表达式模式 [0-9]+ 匹配一个或多个连续的数字。

匹配到的数字通过回调函数进行处理。在这个例子中,回调函数将匹配到的数字转换为整数,并返回其平方值。

最后,通过 echo 输出替换后的结果。

总结

写完了,谢谢大家.


相关文章
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
39 5
|
20天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
3月前
|
PHP Windows
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
|
4月前
|
NoSQL Linux PHP
PHP 扩展开发初探
PHP 扩展开发初探
49 0
|
4月前
|
Apache PHP
百度搜索:蓝易云【Apache环境php安装扩展swoole。】
通过以上步骤,你就可以在Apache环境中成功安装和配置Swoole扩展了。请确保你按照正确的步骤进行操作,并根据你的系统和环境进行相应的调整。如果遇到问题,你可以参考Swoole官方文档或社区的支持资源来获取更多帮助。
33 1
|
4月前
|
Oracle 关系型数据库 MySQL
php7.2安装OCI8扩展支持oracle数据库
做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。 PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。 mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了…… 今天我们大概记录一下OCI8扩展的安装过程。
58 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
php的强大就是因为它有很多优质的扩展库!
77 0
PHP数据库驱动扩展与不同方式连接数据库方式技术详解
|
关系型数据库 MySQL 应用服务中间件
centos7编辑安装php7.启用php扩展
centos7编辑安装php7.启用php扩展
561 0
centos7编辑安装php7.启用php扩展