问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在php下输出数据库中的部分文本

发布网友 发布时间:2022-04-22 22:08

我来回答

4个回答

热心网友 时间:2023-10-05 09:00

方法挺多的,我说2种:
第一种:程序:使用函数:
mb_substr( );  取得指定字符串一部分。
举例:
<?php
//假设你已经获取了文章,保存在$row['wz']中;
echo mb_substr($row['wz'],0,100,"GBK");//使用gbk码
?>
但是这么做只是取了前100个字符,所以我推荐第二种方法

第二种方法,使用mysql的函数::SUBSTRING()
假设你的数据表叫abc,文章放在bb里,你需要从开始第一个字到第100个字(符号也算一个)
那么SQL语句:SELECT SUBSTRING(bb,1,100) FROM abc;
然后程序直接输出就可以了

例如:
<?php
$res=mysql_query("SELECT SUBSTRING(bb,1,100) FROM abc");
$row=mysql_fetch_row($res);
echo $row[0];
?>

还有第三种,就是楼上的循环,自己抉择吧。我佩服1楼有那个耐心,自己写,实在不行才要自己写的。而且你这是切中文,一旦切错了,就是乱码,并且你的中文肯定有符号把,并且也不可能取出100个中文字,最多100个字符或者是几十个汉字加几个字符之类的。

----------------有疑问Hi我

热心网友 时间:2023-10-05 09:01

首先在数据库读取文章出来,然后调用下面的数组切100个文字就行了
# ********************************************
# 切中文字符
# ********************************************
function cutstr($string, $length, $dot = '', $charset = '') {
if (strlen($string) <= $length) {
return $string;
}
$string = htmlspecialchars_decode($string);
$tmp_string = $string;
$string = strip_tags($string);

$strcut = '';
if (strtolower($charset) == 'utf-8') {
$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);
} else {
for ($i = 0; $i < $length; $i++) {
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
}
$strcut .= $dot ;
if($string != $tmp_string){
$tags_rep = '/(\<[^\>]+\>)/';
preg_match_all($tags_rep,$tmp_string,$tags);
if(!empty($tags[0])){
$offset = 0;
foreach($tags[0] as $val){
$pos = strpos($tmp_string,$val,$offset);
$strcut = str_insert($strcut,$pos,$val);
$offset = $pos;
}
}
}
return $strcut;
}

热心网友 时间:2023-10-05 09:01

内容里一般有html代码,首先要过滤掉html代码,然后在去前100个字

热心网友 时间:2023-10-05 09:02

很给力 学习了!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... PHP中如何输出mysql数据库中的数据问题! PHP如何利用循环输出数据库表中所有记录 php用 if语句 如何输出数据库内容 php对数据库内容的输出 PHP如何输出数据库的每条数据? PHP如何输出数据库的每条数据 php怎么输出数据库中的一个数据 牡丹花有什么寓意? 牡丹花的花有什么药用价值 牡丹花有什么用 海蟹需要蒸多久才可以食用? 海蟹蒸多长时间最合适? nova3和nova4的手机壳能通用吗? 房屋抵押该如何办理手续? 凝固的玻璃胶怎么清除? 华为Nova3和nova3i可以用一样的手机壳吗? 手上沾上玻璃胶怎么洗掉 手上有玻璃胶,怎样去掉?? 写论文需要注意什么? 怎样让笔记本每次开机都默认关闭键盘背光 怎么用php读取数据库内容并输出 php如何输出指定 MYSQL 数据库中的 数据表 里字段数据?求大神帮助 PHP 数据库中内容在表格中如何输出 PHP中如何输出数据库特定行列的内容 如图 php 输出数据库里的内容,代码如下,可是实际执行的结果是只打出了表格,没法看到文字。 php 该怎么循环输出数据库里返回的值 php输出mysql数据库中指定字段段内容 PHP输出数据库内容 php数据库输出问题 win7,添加输入语言是空的,怎么办 win7怎样添加输入法????我的是没有那个图标的 要怎么设置????谢谢 如何在win7中添加日语输入法 win7添加输入法为空白 请教高手:win7无法添加输入法 win7 如何添加藏文输入法 男生天鹅颈代表什么 天鹅颈是什么样的标准? 怎样算是拥有一副“天鹅颈”?这样的女生该怎样穿搭? 天鹅颈是什么样的标准 天鹅颈会使人看起来气质很好,女明星中都有谁拥有天鹅颈?