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

fiy 其他 157

回复

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

    要取最后两个中文字符,可以使用以下方法:

    1. 使用mb_substr函数:mb_substr函数是PHP中用于截取字符串的函数,对于包含中文字符的字符串,用mb_substr可以正确地处理中文字符。代码示例如下:

    “`php
    $str = “你好世界”;
    $lastTwoChars = mb_substr($str, -2);
    echo $lastTwoChars; // 输出:界
    “`

    2. 使用正则表达式:通过使用正则表达式匹配最后两个中文字符,可以获取到所需的字符串部分。代码示例如下:

    “`php
    $str = “你好世界”;
    preg_match(‘/[\x{4e00}-\x{9fa5}]{2}$/u’, $str, $matches);
    $lastTwoChars = $matches[0];
    echo $lastTwoChars; // 输出:界
    “`

    3. 先将字符串转换为数组,再取最后两个字符:将字符串使用str_split函数将其转换为数组,然后通过数组的切片功能获取最后两个字符。代码示例如下:

    “`php
    $str = “你好世界”;
    $charsArray = str_split($str);
    $lastTwoChars = implode(“”, array_slice($charsArray, -2));
    echo $lastTwoChars; // 输出:界
    “`

    以上就是三种获取最后两个中文字符的方法,你可以根据实际情况选择使用其中一种方法进行处理。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以使用一些字符串操作函数来取最后两个中文字符。

    1. 使用mb_substr()函数:该函数可以截取一个字符串的指定部分。其中,第一个参数是要截取的字符串,第二个参数是截取的起始位置,第三个参数是截取的长度。

    “`php
    $str = “你好,世界!”;
    $lastTwoChars = mb_substr($str, -2, 2, “UTF-8”);
    echo $lastTwoChars; // 输出:界!
    “`

    2. 使用preg_match()函数配合正则表达式:可以通过正则表达式匹配最后两个中文字符。

    “`php
    $str = “你好,世界!”;
    preg_match(‘/[\x{4e00}-\x{9fa5}]{2}$/u’, $str, $matches);
    $lastTwoChars = $matches[0];
    echo $lastTwoChars; // 输出:界!
    “`

    3. 使用substr()函数配合mb_strlen()函数:可以先计算字符串的长度,然后使用substr()函数截取最后两个字符。

    “`php
    $str = “你好,世界!”;
    $length = mb_strlen($str, “UTF-8”);
    $lastTwoChars = substr($str, $length – 2, 2);
    echo $lastTwoChars; // 输出:界!
    “`

    4. 使用str_split()函数和array_slice()函数:可以先将字符串拆分成字符数组,然后使用array_slice()函数取最后两个元素,最后使用implode()函数将字符数组合并成字符串。

    “`php
    $str = “你好,世界!”;
    $characters = str_split($str);
    $lastTwoChars = implode(“”, array_slice($characters, -2));
    echo $lastTwoChars; // 输出:界!
    “`

    5. 使用array_reverse()函数和implode()函数:可以先将字符串转换为字符数组,然后使用array_reverse()函数反转数组,再取前两个元素,最后使用implode()函数将字符数组合并成字符串。

    “`php
    $str = “你好,世界!”;
    $characters = str_split($str);
    $reversedCharacters = array_reverse($characters);
    $lastTwoChars = implode(“”, array_slice($reversedCharacters, 0, 2));
    echo $lastTwoChars; // 输出:界!
    “`

    以上是几种常见的取最后两个中文字符的方法,可以根据实际需求选择适合的方法来使用。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要取最后中文两个字符,需要先将字符串转换为数组,然后从数组的倒数第二个元素开始取两个字符。以下是通过PHP代码实现的方法和操作流程。

    方法一:使用mb_substr函数
    步骤一:使用mb_substr函数将字符串转换为数组。
    步骤二:获取数组的倒数第二个元素。
    步骤三:使用mb_substr函数从倒数第二个元素开始取两个字符。

    示例代码如下:
    “`php
    $str = ‘你好,世界’;
    $len = mb_strlen($str, ‘utf8’); // 获取字符串的长度
    $arr = array();
    for ($i = 0; $i < $len; $i++) { $arr[] = mb_substr($str, $i, 1, 'utf8'); // 将字符串转换为数组}$lastSecond = $arr[$len - 2]; // 获取倒数第二个元素$result = mb_substr($lastSecond, -2, 2, 'utf8'); // 从倒数第二个元素开始取两个字符echo $result; // 输出结果为 "世界"```方法二:使用正则表达式步骤一:使用preg_split函数将字符串转换为数组。步骤二:获取数组的倒数第二个元素。步骤三:使用preg_match函数从倒数第二个元素中匹配最后两个字符。示例代码如下:```php$str = '你好,世界';$arr = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY); // 匹配任意字符,并将字符串转换为数组$lastSecond = $arr[count($arr) - 2]; // 获取倒数第二个元素preg_match('/(\X{2})$/', $lastSecond, $matches); // 匹配最后两个字符$result = $matches[1]; // 获取匹配结果echo $result; // 输出结果为 "世界"```以上两种方法都可以取得最后中文两个字符,可以根据实际需要选择其中一种使用。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部