仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2189|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP字符串截取

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-16 00:22:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。     
    /**
    * 字符截取 撑持UTF8/GBK
    * @param $string
    * @param $length
    * @param $dot
    */
    function str_cut($string, $length, $dot = '...') {
    $strlen = strlen($string);
    if($strlen <= $length) return $string;
    $string = str_replace(array(' ',' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array('∵',' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string);
    $strcut = '';
    if(strtolower(CHARSET) == 'utf-8') {
    $length = intval($length-strlen($dot)-$length/3);
    $n = $tn = $noc = 0;
    while($n < strlen($string)) {
    $t = ord($string[$n]);
    if($t == 9 $t == 10 (32 <= $t && $t <= 126)) {
    $tn = 1; $n++; $noc++;
    } elseif(194 <= $t && $t <= 223) {
    $tn = 2; $n += 2; $noc += 2;
    } elseif(224 <= $t && $t <= 239) {
    $tn = 3; $n += 3; $noc += 2;
    } elseif(240 <= $t && $t <= 247) {
    $tn = 4; $n += 4; $noc += 2;
    } elseif(248 <= $t && $t <= 251) {
    $tn = 5; $n += 5; $noc += 2;
    } elseif($t == 252 $t == 253) {
    $tn = 6; $n += 6; $noc += 2;
    } else {
    $n++;
    }
    if($noc >= $length) {
    break;
    }
    }
    if($noc > $length) {
    $n -= $tn;
    }
    $strcut = substr($string, 0, $n);
    $strcut = str_replace(array('∵', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), $strcut);
    } else {
    $dotlen = strlen($dot);
    $maxi = $length - $dotlen - 1;
    $current_str = '';
    $search_arr = array('&',' ', '"', "'", '“', '”', '—', '<', '>', '·', '…','∵');
    $replace_arr = array('&',' ', '"', ''', '“', '”', '—', '<', '>', '·', '…',' ');
    $search_flip = array_flip($search_arr);
    for ($i = 0; $i < $maxi; $i++) {
    $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
    if (in_array($current_str, $search_arr)) {
    $key = $search_flip[$current_str];
    $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);
    }
    $strcut .= $current_str;
    }
    }
    return $strcut.$dot;
    }
php   manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。
第二个灵魂 该用户已被删除
19#
发表于 2015-5-8 19:19:58 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
谁可相欹 该用户已被删除
18#
发表于 2015-5-6 12:51:36 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
分手快乐 该用户已被删除
17#
发表于 2015-5-4 21:25:15 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
变相怪杰 该用户已被删除
16#
发表于 2015-4-27 14:32:25 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
15#
发表于 2015-4-17 19:33:20 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
小魔女 该用户已被删除
14#
发表于 2015-4-13 00:51:42 | 只看该作者
实践是检验自己会不会的真理。
飘飘悠悠 该用户已被删除
13#
发表于 2015-4-11 18:21:44 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
莫相离 该用户已被删除
12#
发表于 2015-4-11 09:15:05 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-1 04:37:38 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
山那边是海 该用户已被删除
10#
 楼主| 发表于 2015-3-31 17:23:05 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
海妖 该用户已被删除
9#
发表于 2015-3-30 02:49:13 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-12 05:07:05 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
飘灵儿 该用户已被删除
7#
发表于 2015-3-7 09:41:56 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
爱飞 该用户已被删除
6#
发表于 2015-3-5 15:45:42 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
透明 该用户已被删除
5#
发表于 2015-3-4 17:12:28 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
乐观 该用户已被删除
地板
发表于 2015-3-3 13:12:32 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
因胸联盟 该用户已被删除
板凳
发表于 2015-3-1 18:03:38 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
若相依 该用户已被删除
沙发
发表于 2015-2-17 00:08:32 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
金色的骷髅 该用户已被删除
楼主
发表于 2015-2-16 00:31:23 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 23:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表