<meta name="description" content="<?PHP echo $row[content]; ?>"/> 怎么改可以体现只抓取200字符、?
1个回答
展开全部
1.写一个函数截取前200个字符;
2.在数据库加一个description的字段,后台提供录入的文本区,前台直接取description字段;
建议采用第二种方法
<?php
function get_substr($string,$length='',$start='0'){
$start = (int)$start;
$length = (int)$length;
$i = 0;
if(!$string){ return; }
$string = preg_replace("/</?[^>]+>/","",$string );
if($start>=0){
while($i<$start){
if(ord($string[$i])>127){
$i = $i+2;
}else{
$i++;
}
}
$start = $i;
if($length==''){
return substr($string,$start);
}elseif($length>0){
$end = $start+$length;
while($i<$end){
if(ord($string[$i])>127){
$i = $i+2;
}else{
$i++;
}
}
if($end != $i-1) {
$end = $i;
}else{
$end--;
}
$length = $end-$start;
return substr($string,$start,$length);
}elseif($length==0){
return;
}else{
$length = strlen($string)-abs($length)-$start;
return get_substr($string,$start,$length);
}
}else{
$start = strlen($string)-abs($start);
return get_substr($string,$start,$length);
}
}
?>
2.在数据库加一个description的字段,后台提供录入的文本区,前台直接取description字段;
建议采用第二种方法
<?php
function get_substr($string,$length='',$start='0'){
$start = (int)$start;
$length = (int)$length;
$i = 0;
if(!$string){ return; }
$string = preg_replace("/</?[^>]+>/","",$string );
if($start>=0){
while($i<$start){
if(ord($string[$i])>127){
$i = $i+2;
}else{
$i++;
}
}
$start = $i;
if($length==''){
return substr($string,$start);
}elseif($length>0){
$end = $start+$length;
while($i<$end){
if(ord($string[$i])>127){
$i = $i+2;
}else{
$i++;
}
}
if($end != $i-1) {
$end = $i;
}else{
$end--;
}
$length = $end-$start;
return substr($string,$start,$length);
}elseif($length==0){
return;
}else{
$length = strlen($string)-abs($length)-$start;
return get_substr($string,$start,$length);
}
}else{
$start = strlen($string)-abs($start);
return get_substr($string,$start,$length);
}
}
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询