【php笔记-1】获取字符串里中文第一次出现的位置

// 获取中文(包括符号)第一次出现的位置
function indexOfFirstChineseChar_($str)
{
    $index = -1;
    $len = strlen($str);
//    echo $len;
    for ($i = 0; $i < $len; $i++) {
        $char = substr($str, $i, 1);
//        echo $i;
//        echo $char;
        $isCh = preg_match("/^[" . chr(0xa1) . "-" . chr(0xff) . "]+$/", $char); // 判断是否是中文
        if ($isCh) {
//            echo '<' . $i . '>';
            $index = $i;
            break;
        }
    }
    return $index;
}

// 获取中文(排除指定的符号)第一次出现的位置
function indexOfFirstChineseChar($str)
{
    $index = -1;
    $len = strlen($str);
//    echo $len;
    for ($i = 0; $i < $len; $i++) {
        $char = substr($str, $i, 1);
//        echo $i;
//        echo $char;
        $isCh = preg_match("/^[" . chr(0xa1) . "-" . chr(0xff) . "]+$/", $char); // 判断是否是中文
        // 排除指定的符号
        $pattern='/[。、!?:;﹑•"…‘’“”〝〞∕¦‖— 〈〉﹞﹝「」‹›〖〗】【»«』『〕〔》《﹐¸﹕︰﹔!¡?¿﹖﹌﹏﹋'´ˊˋ―﹫︳︴¯_ ̄﹢﹦﹤‐­˜﹟﹩﹠﹪﹡﹨﹍﹉﹎﹊ˇ︵︶︷︸︹︿﹀︺︽︾ˉ﹁﹂﹃﹄︻︼()]/';
        if ($isCh && !preg_match($pattern, $char)) {
//            echo '<' . $i . '>';
            $index = $i;
            break;
        }
    }
    return $index;
}

猜你喜欢

转载自blog.csdn.net/xihuandaxiaojie/article/details/78065112