php 截取字符串函数(中文字符串) 这是一款php 截取字符串函数哦,这是一款支持中文字符串哦,它可以截取html与中西文,等混合的内容,并且把html标签不算在字符截取之内,如果html标签没有闭合,程序将自动过滤多余的标签。
php教程 截取字符串函数(中文字符串)
这是一款php 截取字符串函数哦,这是一款支持中文字符串哦,它可以截取html与中西文,等混合的内容,并且把html标签不算在字符截取之内,如果html标签没有闭合,程序将自动过滤多余的标签。
*/
function mysubstr( $str, $length ){ $tagcnt = 0; $charcnt = 0; $tag = ''; $maxlen = strlen( $str ); $resultstr = ''; $tagstack = array(); for( $i = 0; $i '; //如果是开始标记,则入栈,如果是与之相对应的结束标记则出栈 if( preg_match('//i', $tag, $r) ){ echo '入栈:',htmlspecialchars($r[1]),''; array_push($tagstack, $r[1]); } elseif( preg_match( '/'.$tagstack[count($tagstack)-1].'/', $tag ) ){ echo '出栈:',htmlspecialchars($tagstack[count($tagstack)-1]),''; array_pop( $tagstack ); } $tag = ''; continue; } $charcnt++; $resultstr .= $str[$i]; } echo '最后结果为:'; //栈是空的直接返回 if(empty($tagstack)){ return $resultstr; } //否则去掉没有结束标记的开始标记 else{ while(!empty($tagstack)){ $tag = array_pop($tagstack); $index = strrpos($resultstr, $tag); for($i = $index-1; $resultstr[$i] != '>'; $i++ ){ $resultstr[$i] = ''; } $resultstr[$i++] = ''; } return $resultstr; } } $sttime = microtime(true); $stmem = memory_get_usage(); $str = "a1b2c3d4e5f6g7h8"; echo '处理结果为:',htmlspecialchars( mysubstr( $str, 18 ) ),''; echo "内存使用情况:",(memory_get_usage()-$stmem),''; echo "算法运行时间(microtime):",(microtime(true)-$sttime),'';
//方法二
/
**
* 函数名 html_substr
* 功能 从html串中截取指定长度的字串,html标记不计算在内
* 参数
* $str 要截取的串
* $len 要截取的长度
* $mode 不匹配的标记的处理方式 0 删去(默认),1 补齐
* 返回 截取到的串
* 说明
* 未考虑多字节字符,仅已字节做计数单位
* 未考虑可单独存在的标记
**/
function html_substr($str, $len, $mode=0) {
$ar= preg_split('/(|]*>)/s', $str, -1, preg_split_delim_capture);
foreach($ar as $k => $v) {
if($v{0} != ' $len = $len - strlen($v);
if($len }else $ar[$k] = strtolower($v);
if($len }
$ar = array_slice($ar, 0, $k+1);
$len = count($ar);
foreach($ar as $k=>$v) {
if($v{0} == ' $ch = str_replace(' for($i=$k+1; $i if($i == $len)
if($mode)
$ar[$len] = $ch . $ar[$len];
else
$ar[$k] = '';
}
}
return join('', $ar);
}
$str = "123abc456def789";echo '
10分钟内自己学会PHP查看详情10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A
524
![]()
';
echo html_substr($str, 5) . php_eol;
echo html_substr($str, 5, 1);
1 2
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号