php怎么取最后中文两个字符串

fiy 其他 240

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在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年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要取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年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在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年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部