VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

如何使用dedecms字符串截取函数(html用什么方法截取字符串)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

如何使用dedecms字符串截取函数(html用什么方法截取字符串)

如何使用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)& lt;$ start+1){ return & # 39;';} preg _ match _ all(& quot;/./苏& quot,$str,$ ar);$ str = & # 39';$ tstr = & # 39';& lt/p & gt;& ltp & gt//为了兼容mysql4.1以下版本并与数据库varchar保持一致,字节截断for($ I = 0;isset($ ar[0][$ I]);$ i++){ if(strlen($ tstr)& lt;$start){$tstr。= $ ar[0][$ I];} else { if(strlen($ str)& lt;$ length+strlen($ ar[0][$ I]){ $ str。= $ ar[0][$ I];} else { break} } } return $ str}}其中

代码如下:

if(strlen($ str)& lt;行$length+strlen($ar[0][$i])截取后可能会导致多一个字符,可以考虑改成。

代码如下:

if(strlen($ str)& lt;$length+strlen($ar[0][$i]) -1)测试代码如下

代码如下:

$ f = & quot你好fasdfa,你fastf # e #”;$pos = strpos($f,& # 39;# e # & # 39);var _ dump($ pos);var_dump(cn_substr_utf8($f,$ pos));var_dump(cn_substr_utf82($f,$ pos));& lt/p & gt;& ltp & gt函数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 & lt;$ startdd+1){ return & # 39;';} if($str _ len & lt;$ startdd+$ slen | | $ slen = = 0){ $ slen = $ str _ len-$ startdd;} $ enddd = $ startdd+$ slen-1;for($ I = 0;$ i & lt$ str _ len$i++) { if($startdd==0) { $restr。= $ c;} else if($ I & gt;$startdd){$restr。= $ c;} & lt/p & gt;& ltp & gtif(ord($ str[$ I])>;0x 80){ if($str _ len & gt;$i+1){$c = $str[$i]。$ str[$ I+1];} $ i++;} else { $ c = $ str[$ I];} & lt/p & gt;& ltp & gtif($ I & gt;= $ enddd){ if(strlen($ restr)+strlen($ c)>$ slen){ break;}else{$restr。= $ c;打破;} } } return $ restr} & lt/p & gt;& ltp & gt函数cn_substr_utf8($str,$length,$ start = 0){ if(strlen($ str)& lt;$ start+1){ return & # 39;';} preg _ match _ all(& quot;/./苏& quot,$str,$ ar);& lt/p & gt;& ltp & gt$ str = & # 39';$ tstr = & # 39';& lt/p & gt;& ltp & gt//为了兼容mysql4.1以下版本并与数据库varchar保持一致,字节截断for($ I = 0;isset($ ar[0][$ I]);$ i++){ if(strlen($ tstr)& lt;$ start){ & lt;/p & gt;& ltp & gt$tstr。= $ ar[0][$ I];} else { & lt/p & gt;& ltp & gtif(strlen($ str)& lt;$ length+strlen($ ar[0][$ I]){ & lt;/p & gt;& ltp & gt$str。= $ ar[0][$ I];} else { & lt/p & gt;& ltp & gt打破;} } } return $ str} & lt/p & gt;& ltp & gt函数cn_substr_utf82($str,$length,$ start = 0){ if(strlen($ str)& lt;$ start+1){ return & # 39;';} preg _ match _ all(& quot;/./苏& quot,$str,$ ar);& lt/p & gt;& ltp & gt$ str = & # 39';$ tstr = & # 39';& lt/p & gt;& ltp & gt//为了兼容mysql4.1以下版本并与数据库varchar保持一致,字节截断for($ I = 0;isset($ ar[0][$ I]);$ i++){ if(strlen($ tstr)& lt;$ start){ & lt;/p & gt;& ltp & gt$tstr。= $ ar[0][$ I];} else { & lt/p & gt;& ltp & gtif(strlen($ str)& lt;$ length+strlen($ ar[0][$ I])-1)//PHP sir added-1 { </p & gt;& ltp & gt$str。= $ ar[0][$ I];} else { & lt/p & gt;& ltp & gt打破;} } } return $ str}以上是如何使用dedecms字符串拦截函数的细节。更多信息请关注主机参考其他相关文章!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:如何使用dedecms字符串截取函数(html用什么方法截取字符串) https://zhujicankao.com/90630.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 如何使用dedecms字符串截取函数(html用什么方法截取字符串)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!