-
- function msubstr($str,$start,$len) {
- $strlen=$start+$len;
- for($i=0;$i<$strlen;$i++) {
- if(ord( substr($str,$i,1))>0xa0) {
- $tmpstr.=substr($str,$i,2)
- } else
- $tmpstr.=substr($str,$) i,1);
- }
- return $tmpstr
コードをコピーします
$str="この文字は長いです^_^"; - $Short_Str=showShort($str,4);//最初の 4 つの中国語をインターセプトします文字の場合、結果は次のようになります。
- Echo "$Short_Str";
- 関数 csubstr($str,$start,$len)
- $strlen=strlen($str); for( $i=0;$i<$strlen;$i++,$clen++)
- {
- if ($clen>=$start+$len)
- break; ord(substr($str,$i,1) )) >0xa0)
- {
- if ($clen>=$start)
- $tmpstr.=substr($str,$i,2)
- } bbs.it-home.org
- else
- ; {
- if ($clen>=$start)
- $tmpstr.=substr($str,$i,1)
- }
- }
return $tmpstr;
- 関数 showShort ($ str,$len)
- {
- $tempstr = csubstr($str,0,$len);
- if ($str$tempstr)
- $tempstr .= "...";
return $tempstr;
- }
-
-
-
- コードをコピーしてください
-
-
- ここで、長さをインターセプトするより簡潔な方法を共有します。漢字の:
-
-
-
$len = 19; $text = "長いニュースタイトルの最初の数単語だけを表示して...に置き換えるにはどうすればよいですか?"; )<=$len ? $text : (substr($text,0,$len).chr(0)."....");
|