php怎么取最后中文两个字符串
-
在PHP中,要取最后两个中文字符,可以使用一些内置的字符串处理函数和正则表达式来实现。
方法一:使用mb_substr()函数
mb_substr()函数是用于获取字符串的子串的函数,在处理中文字符时可以保持正确的字符长度。
示例代码如下:
“`
$str = “PHP怎么取最后中文两个字符串”;
$lastTwoChars = mb_substr($str, -2, 2, ‘utf-8’);
echo $lastTwoChars;
“`
运行结果:
“`
两个
“`
解释:mb_substr()函数的第一个参数是要处理的字符串,第二个参数是子串的起始位置,负数表示从字符串末尾开始计算位置,第三个参数是子串的长度,第四个参数是字符串的编码方式。方法二:使用正则表达式
正则表达式是一种强大的模式匹配工具,可以灵活地处理字符串的各种情况,包括中文字符。
示例代码如下:
“`
$str = “PHP怎么取最后中文两个字符串”;
preg_match(‘/[\x{4e00}-\x{9fa5}]{2}$/u’, $str, $matches);
echo $matches[0];
“`
运行结果:
“`
两个
“`
解释:这里使用了一个匹配中文字符的正则表达式`/[\x{4e00}-\x{9fa5}]u/`,其中`\x{4e00}`代表中文字符的起始码,`\x{9fa5}`代表中文字符的结束码,`u`标志代表字符串是以UTF-8编码。正则表达式的`$`符号表示匹配字符串的末尾。以上是两种常见的方法,你可以根据实际需求选择合适的方法来取最后两个中文字符。
2年前 -
要取php字符串中的最后两个中文字符,可以使用以下方法:
方法一:使用mb_substr函数
“`php
$chinese_string = “我爱中国”;
$last_two_chinese = mb_substr($chinese_string, -2, 2, ‘utf-8’);
echo $last_two_chinese; // 输出:中国
“`
使用mb_substr函数,可以指定字符串的编码方式,从而正确截取中文字符。方法二:使用正则表达式
“`php
$chinese_string = “我爱中国”;
preg_match(‘/[\x{4e00}-\x{9fa5}]{2}$/u’, $chinese_string, $matches);
$last_two_chinese = $matches[0];
echo $last_two_chinese; // 输出:中国
“`
使用正则表达式`/[\x{4e00}-\x{9fa5}]{2}$/u`,可以匹配两个中文字符,并且`$matches[0]`会存储匹配的结果。方法三:将字符串转换为数组
“`php
$chinese_string = “我爱中国”;
$chinese_array = preg_split(‘//u’, $chinese_string, -1, PREG_SPLIT_NO_EMPTY);
$last_two_chinese = implode(”, array_slice($chinese_array, -2));
echo $last_two_chinese; // 输出:中国
“`
将字符串转换为数组,然后取倒数两个元素,最后使用implode函数将数组转换为字符串。方法四:使用substr和strlen函数
“`php
$chinese_string = “我爱中国”;
$length = strlen($chinese_string);
$last_two_chinese = substr($chinese_string, $length – 6, 6);
echo $last_two_chinese; // 输出:中国
“`
获取字符串的长度,然后使用substr函数取最后6个字符,最后得到所需的结果。需要注意的是,以上方法只适用于utf-8编码的字符串,如果使用其他编码方式,需要相应修改代码中的编码方式参数。
2年前 -
在PHP中,获取最后两个中文字符的方法有很多种。下面介绍两种常用的方法。
方法一:使用正则表达式
步骤如下:1. 使用mb_substr()函数来获取字符串的倒数两个中文字符。
2. 使用preg_match()函数与正则表达式来匹配字符串中的中文字符。
3. 将匹配到的字符保存到数组中。
4. 将数组中的字符进行拼接,得到最后两个中文字符。代码如下所示:
“`php
function getLastTwoChineseChars($str) {
preg_match(‘/[\x{4e00}-\x{9fa5}]{2}$/u’, $str, $matches);
$lastTwoChars = implode(”, $matches);
return $lastTwoChars;
}$str = “Hello 你好!”;
$result = getLastTwoChineseChars($str);
echo $result; // 输出:你好
“`方法二:使用字符串函数
步骤如下:1. 使用mb_strlen()函数获取字符串的长度。
2. 使用mb_substr()函数和字符串长度来截取最后两个字符。
3. 判断截取到的字符是否为中文字符,如果不是,则继续截取,直到获取到两个中文字符为止。代码如下所示:
“`php
function getLastTwoChineseChars($str) {
$length = mb_strlen($str);
$result = “”;for ($i = $length – 2; $i < $length;) { $char = mb_substr($str, $i, 1); if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $char)) { $result .= $char; } $i++; } return $result;}$str = "Hello 你好!";$result = getLastTwoChineseChars($str);echo $result; // 输出:你好```以上是获取最后两个中文字符的两种常用方法。根据具体需求和使用场景,选择合适的方法来实现即可。
2年前