国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php字符串截取問題

2024-05-04 22:14:20
字體:
來源:轉載
供稿:網友
但是在英文和漢字混合的情況下會出現如下問題:

如果有這樣一個字符串
$str="這是一個字符串";
為了截取該串的前10個字符,使用
if(strlen($str)>10) $str=substr($str,10)."…";
那么,echo $str的輸出應該是"這是一個字…"

假設
$str="這是1個字符串";
這個串中包含了一個半角字符,同樣執行:
if(strlen($str)>10) $str=substr($str,10);
由于原字符串$str的第10、11個字符構成了漢字“符”;
執行串分割后會將該漢字一分為二,這樣被截取的串就會發現亂碼現象。


請問這種問題如何解決?即要使過長字符串實現分割,又不能讓它發生亂碼?
代碼如下:
<?php
//村里有很多,這個是gb2312
function substrs($content,$length='30')
{
    if($length && strlen($content)>$length)
    {
        $num=0;
        for($i=0;$i<$length-3;$i++)
        {
            if(ord($content[$i])>127)
            {
                $num++;
            }
        }
        $num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
    }
    return $content;
}
?>
 
代碼如下:
function cutstr($string, $length, $dot = ' ...') {
        $strcut = '';
        for($i = 0; $i < $length - strlen($dot) - 1; $i++) {
                $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
        }
        return $strcut.$dot;
}

代碼如下:
function cutTitle($str, $len, $tail = ""){
        $length                = strlen($str);
        $lentail        = strlen($tail);
        $result                = "";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭阳县| 浦江县| 金坛市| 清苑县| 阳山县| 沈阳市| 县级市| 桐乡市| 灵武市| 调兵山市| 广灵县| 正蓝旗| 嵊州市| 中阳县| 海阳市| 上蔡县| 利川市| 慈溪市| 独山县| 景泰县| 如东县| 平罗县| 仙居县| 丘北县| 枣庄市| 门头沟区| 宜兴市| 临洮县| 垣曲县| 龙游县| 鱼台县| 新沂市| 元谋县| 剑河县| 西和县| 顺平县| 邹城市| 天津市| 佳木斯市| 游戏| 寻乌县|