PHP限制新闻标题的长度

PHP限制新闻标题的长度,第1张

//中文字符串截取函数

function sysSubStr($string,$length,$append= false) { 

    if(strlen($string) <= $length) {

return $string; 

    else

    { 

        $i= 0; 

        while($i< $length) 

        { 

            $stringTMP= substr($string,$i,1); 

            if( ord($stringTMP) >=224 ) //ord()返回字符串的第一个字符的ASCII值

            {  

                $stringTMP= substr($string,$i,3); 

                $i= $i+ 3; 

            } 

            elseif( ord($stringTMP) >=192 ) 

            { 

                $stringTMP= substr($string,$i,2); 

                $i= $i+ 2; 

            } 

            else

            { 

                $i= $i+ 1; 

            } 

            $stringLast[] = $stringTMP; 

        } 

        $stringLast= implode("",$stringLast); //implode() 函数把数组元素组合为一个字符串

        if($append) 

        { 

            $stringLast= ""; 

        } 

        return $stringLast; 

    } 

函数调用如下:

sysSubStr(str,46,true);//str是要截取的字符串;46是要显示的长度,可自己设定;第三个设置为true即可

function strLength($str,$charset='utf-8'){

if($charset=='utf-8') $str = iconv('utf-8','gb2312',$str);

$num = strlen($str);

$cnNum = 0;

for($i=0;$i<$num;$i++){

if(ord(substr($str,$i+1,1))>127){

$cnNum++;

$i++;

}

}

$enNum = $num-($cnNum2);

$number = ($enNum/2)+$cnNum;

return ceil($number);

}

测试:

$temp='我的我的我的我的1234cedede';

echo(strLength($temp,'gb2312'));

<php

echo substr(需要截取字符串, 起止数, 需要截取的长度);

>

截取字符串只支持英文。如果字符串包含中文。或混排。以及文字 编码。gb2312 和 utf8 。截取方式就不一样了。

推荐使用 bugfree 的截取字符串函数

例子:/

@package BugFree

@version $Id: FunctionsMainincphp,v 132 2005/09/24 11:38:37 wwccss Exp $

Return part of a string(Enhance the function substr())

@author Chunsheng Wang <wwccss@263net>

@param string $String the string to cut

@param int $Length the length of returned string

@param booble $Append whether append "": false|true

@return string the cutted string

/

function sysSubStr($String,$Length,$Append = false)

{

if (strlen($String) < = $Length )

{

return $String;

}

else

{

$I = 0;

while ($I < $Length)

{

$StringTMP = substr($String,$I,1);

if ( ord($StringTMP) >=224 )

{

$StringTMP = substr($String,$I,3);

$I = $I + 3;

}

elseif( ord($StringTMP) >=192 )

{

$StringTMP = substr($String,$I,2);

$I = $I + 2;

}

else

{

$I = $I + 1;

}

$StringLast[] = $StringTMP;

}

$StringLast = implode("",$StringLast);

if($Append)

{

$StringLast = "";

}

return $StringLast;

}

}

$String = "CodeBitcn -- 简单、精彩、通用";

$Length = "18";

$Append = false;

echo sysSubStr($String,$Length,$Append);

>

sql语句输出的时候格式化

$sql = "SELECT LEFT(字段名,限制的标题长度) AS title FROM 表名";

---------------------------------------

css格式化

css

contents ul{ width:120px;

overflow:hidden;

//line-height:18px;

}

contents ul li{

overflow:hidden;

}

contents ul li a{

margin:0;

display:block;

width:100px;

white-space:nowrap;

float:left;

text-overflow:ellipsis;

overflow:hidden;

}

html

<div class="contents">

<ul id="c_jcdj_u">

<li><a href='newsDetailhtmlid={0}'>标题,任意长度标题,任意长度标题,任意长度</a></li>

<li><a href='newsDetailhtmlid={0}'>标题,任意长度标题,任意长度标题,任意长度</a></li>

<li><a href='newsDetailhtmlid={0}'>标题,任意长度标题,任意长度标题,任意长度</a></li>

<li><a href='newsDetailhtmlid={0}'>标题,任意长度标题,任意长度标题,任意长度</a></li>

<li><a href='newsDetailhtmlid={0}'>标题,任意长度标题,任意长度标题,任意长度</a></li>

</ul>

</div>

以上就是关于PHP限制新闻标题的长度全部的内容,包括:PHP限制新闻标题的长度、PHP 怎么获取一段字符串的长度 并且还要区分中文和英文 无论一个汉字还是一个英文字母都只算一个字符、php,怎么获取指定长度的字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9571061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存