前言
学习学习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 输出替换后的结果。
总结
写完了,谢谢大家.