最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php 截取字符串函数(中文字符串)
时间:2010-08-17 编辑:简简单单 来源:一聚教程网
代码如下 | 复制代码 |
function mysubstr( $str, $length ){ for( $i = 0; $i < $length; $i++ ){ $resultstr .= $str[$i]; for( $j=$i; $str[$j]!='>'; $j++,$length++ ){ $tag = ''; $charcnt++; 最后结果为:'; //栈是空的直接返回 $tag = array_pop($tagstack); $index = strrpos($resultstr, $tag); for($i = $index-1; $resultstr[$i] != '>'; $i++ ){ $resultstr[$i++] = ''; return $resultstr; $sttime = microtime(true); $stmem = memory_get_usage(); $str = "a1 b2c3d4e5 f6g7h8";echo '处理结果为: ',htmlspecialchars( mysubstr( $str, 18 ) ),' '; echo "内存使用情况:",(memory_get_usage()-$stmem),' echo "算法运行时间(microtime):",(microtime(true)-$sttime),' |
//方法二
/
代码如下 | 复制代码 |
** echo ' echo html_substr($str, 5) . php_eol; echo html_substr($str, 5, 1); |
代码如下 | 复制代码 |
$str = "a1b2c3 d4e 5f6g7h8";$gn = 7; $i = $j = $k = 0; while( ($c = $str[$i++]) && $j < $gn ) { if( $c == '<') { $tag = 1; } elseif($c == '>') { if(trim($tg,'/') == 'em') { $tgs[$j-1] = '<'.$tg.'>'; } else { if($tgs[$j-1]) $ogs[$j-1] = '1|'.'<'.$tg.'>'; else $ogs[$j-1] = '0|'.'<'.$tg.'>'; } $tag = 0; $tg = ''; } elseif($tag == 1) { $tg .= $c; } else { $tmp[] = $c; $j++; } } $ts = count($tgs); if($ts % 2) array_pop($tgs); foreach($tmp as $k=>$v) { $ba = explode('|',$ogs[$k],2); if( $tgs[$k] && $ogs[$k]) { if($ba[0]) { $s .= $v.$tgs[$k].$ba[1]; } else $s .= $v.$ba[1].$tgs[$k]; } else $s .= $v.$tgs[$k].$ba[1]; } |
echo htmlspecialchars($s);
-
上一个: PDO 查询mysql数据库
-
下一个: 电话号码正则表达式
相关文章
- THINKPHP截取中文字符串函数 11-04
- PHP截取中文字符串函数总结 08-04
- php中高性能中文字符串截取函数分享 12-07
- php 中文字符串截取函数 08-24
- PHP中一个中文字符串截取函数 03-13
- PHP导出数据超时的优化建议解读 10-31