主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
如何使用dedecms字符串截取函数?
dedecms的cn_substr_utf8字符串拦截功能探讨
推荐学习:梦想编织cms
我在phpsir上看到这篇文章,主要讲的是DEDEDECMS的cn_substr_utf8函数,好像有一些问题。研究dedecms的朋友可以看看。
在dedecms中,cn_substr_utf8函数是这样的。
代码如下:
/*** utf-8中文拦截,单字节拦截模式* * @ access public * @ paramstring $ STR要拦截的字符串* @param int $slen拦截长度* @param int $startdd开始标记* @return string*/if(!function _ exists(& # 39;cn _ substr _ utf8 & # 39)){ function cn _ substr _ utf8($ str,$length,$ start = 0){ if(strlen($ str)《$ start+1){ return & # 39;';} preg _ match _ all(“/。/su“,$str,$ ar);$ str = & # 39';$ tstr = & # 39';
//为了与mysql4.1以下版本兼容并与数据库varchar保持一致,字节截断为($ I = 0;isset($ ar【0】【$ I】);$ i++){ if(strlen($ tstr)《$ start){ $ tstr。= $ ar【0】【$ I】;} else { if(strlen($ str)《$ length+strlen($ ar【0】【$ I】)){ $ str。= $ ar【0】【$ I】;} else { break} } } return $ str}}其中
代码如下:
if(strlen($ str)《$ length+strlen($ ar【0】【$ I】))行在截取后可能会导致多一个字符,因此可以将其更改为。
代码如下:
if(strlen($ str)《$ length+strlen($ ar【0】【$ I】)-1)测试代码如下。
代码如下:
$f =“你好,fasdfa,你fasdf # e #“;$ pos = strpos($ f,& # 39;# e # & # 39);var _ dump($ pos);var _ dump(cn _ substr _ utf8($ f,$ pos);var _ dump(cn _ substr _ utf 82($ f,$ pos);
function cn _ substr($ str,$slen,$ startdd = 0){ global $ CFG _ soft _ lang;if($ CFG _ soft _ lang = = & # 39;utf-8 & # 39;){ return cn _ substr _ utf8($ str、$slen、$ startdd);} $ restr = & # 39';$ c = & # 39';$ str _ len = strlen($ str);if($ str _ len《$ startdd+1){ return & # 39;';} if($ str _ len《$ startdd+$ slen | | $ slen = = 0){ $ slen = $ str _ len-$ startdd;} $ enddd = $ startdd+$ slen-1;for($ I = 0;$ I $ startdd){ $ restr。= $ c;}
if(ord($ str【$ I】)》0x 80){ if($ str _ len》$ I+1){ $ c = $ str【$ I】。$ str【$ I+1】;} $ i++;} else { $ c = $ str【$ I】;}
if($ I》= $ enddd){ if(strlen($ restr)+strlen($ c)》$ slen){ break;}else{$restr。= $ c;打破;} } } return $ restr}
function cn _ substr _ utf8($ str,$length,$ start = 0){ if(strlen($ str)《$ start+1){ return & # 39;';} preg _ match _ all(“/。/su“,$str,$ ar);
$ str = & # 39';$ tstr = & # 39';
//为了与mysql4.1以下版本兼容并与数据库varchar保持一致,字节截断为($ I = 0;isset($ ar【0】【$ I】);$ i++){ if(strlen($ tstr)《$ start){
$tstr。= $ ar【0】【$ I】;}否则{
if(strlen(str)《$ length+strlen(ar【0】【$ I】)){
$str。= $ ar【0】【$ I】;}否则{
打破;} } } return $ str}
function cn _ substr _ utf 82($ str,$length,$ start = 0){ if(strlen($ str)《$ start+1){ return & # 39;';} preg _ match _ all(“/。/su“,$str,$ ar);
$ str = & # 39';$ tstr = & # 39';
//为了与mysql4.1以下版本兼容并与数据库varchar保持一致,字节截断为($ I = 0;isset($ ar【0】【$ I】);$ i++){ if(strlen($ tstr)《$ start){
$tstr。= $ ar【0】【$ I】;}否则{
if(strlen($ str)《$ length+strlen($ ar【0】【$ I】)-1 )//PHP sir added-1 {
$str。= $ ar【0】【$ I】;}否则{
打破;} } } return $ str}以上是如何使用dedecms字符串拦截函数的详细信息。更多资讯请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 帝国忘记cms密码怎么办?
- 帝国cms会员中心进入方法(帝国cms会员中心进入方法)
- 如何控制dedecms列表页面的缩略图大小(dedecms分页标签)
- dedecms如何去除梦织底层的梦织版权信息
- dedecms5.7 ask模块404现在该怎么办?
本文由主机参考刊发,转载请注明:如何使用dedecms字符串拦截函数(html拦截字符串的方法是什么) https://zhujicankao.com/99340.html
评论前必须登录!
注册