[求]字符串截取函数,要求见贴 htmlspecialchars ( string string [, int quote_style [, string charset]])please try this function 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想可以使用这个思路:不要去处理HTML标签,一一去读字符串中的字符,即读到一个 < 就入栈(计数加一),读到一个 > 就出栈(计数减一),这样,如果栈为空(计数为0),则表示当前的字符不是HTML标签的组成部分。这样,只收集非HTML标签字符即可。 我也有过这种想法,先截取一段,比如400个字符然后计算里面<table>、</table>标签的个数,最后再补上不够的但这样速度不是很好,可能我的算法不行,谁能写一个吗? 我草草写了一个,你看看:<?phpfunction htmlsubstr($str, $start, $length) { $stack = 0; $newstr = ''; for ($i = 0; $i < strlen($str); $i++) { $chr = $str{$i}; if ($chr == '<') $stack++; if ($chr == '>') $stack--; if ($stack == 0) $newstr .= $chr; } return substr($newstr, $start, $length);}?> 用strip_tagsecho substr(strip_tags($substr),0,100); 动态页面的问题 如何在网站空间,部署运行socket服务器? 前缀不同可以恢复数据么 求一个用于统计每天资源下载量的表结构 mysql字段名 简单问题送大分哦 请问一下地址栏上的ASCII码是什么类型的 谁能推荐一个好的网络商店系统,前提是PHP没有加密的。 谁有好点儿的分页代码??帮忙 COOKIE问题[急] 关于过滤信息 组建团队,有什么好的建议?
不要去处理HTML标签,一一去读字符串中的字符,即读到一个 < 就入栈(计数加一),读到一个 > 就出栈(计数减一),这样,如果栈为空(计数为0),则表示当前的字符不是HTML标签的组成部分。这样,只收集非HTML标签字符即可。
然后计算里面<table>、</table>标签的个数,最后再补上不够的
但这样速度不是很好,可能我的算法不行,谁能写一个吗?
<?php
function htmlsubstr($str, $start, $length) {
$stack = 0;
$newstr = '';
for ($i = 0; $i < strlen($str); $i++) {
$chr = $str{$i};
if ($chr == '<') $stack++;
if ($chr == '>') $stack--;
if ($stack == 0) $newstr .= $chr;
}
return substr($newstr, $start, $length);
}
?>