本文目录一览:
- 1、php文章简介截取(不包括图片)
- 2、php自动提取文章关键字?
- 3、php表中字段content内容前50个字符
- 4、php截取一段文字的前一百个字的问题
- 5、php 怎么截取字符前面几个字符
- 6、php截取文章前50个字
php文章简介截取(不包括图片)
数据库查询语句里用 left('字段名',要截取的长度) 即可实现同样功能而且还 减少了数据库查询时间 ,,可以节省不少数据库资源……
php自动提取文章关键字?
现在很多web系统都用到了不少的自然语言处理技术来提高客户体验。
主要技术:
1.文章关键字提取.
2.相关文章(产品)推荐.
最近有不少网友问道,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提.
基本分以下几个步骤:
一.对文章进行分词:
php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:
对一篇文章分词后,统计每个词条出现的次数。然后按照词频降序排序下,你想要的结果在前面几个词中。
前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验.主要技术:1.文章关键字提取.2.相关文章(产品)推荐.最近有不少网友问到,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提。-php截取文章前50个字
基本分以下几个步骤:
一.对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。选择的分词器需要支持停止词过滤。-php截取文章前50个字
二.统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数,然后按照词频降序排序下,你想要的结果在前面几个词中。回龙观IT培训建议前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。-php截取文章前50个字
php表中字段content内容前50个字符
请问,你说的content,是指$content_news吗?
根据你的代码,把:
?php content内容的前50个字符?
替换为以下代码:
?php
// $charset 是你的字符集
// 一般来说,国内常用 GB2312,部分人用 UTF-8
// 根据你自己的需要来改
$charset = 'GB2312';
echo mb_substr($content_news, 0, 50, $charset);
?
其中,mb_substr()是PHP对substr()的改进,对任意字符集的字符串都能正确处理。
前提是你开启了mbstring扩展库。
再试试?
php截取一段文字的前一百个字的问题
一般英文字符占一个字节,汉字占两个字节,有这么一种思路,在截取字符串的时候逐个判断要截取的字符是汉字还是英文字符,这样就不会出现错误了,下边给你帖一个我写的程序,你自己看下
html
head
title无标题文档/title
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
/head
body
?php
function msubstr($str,$start,$len){
}
?
form action="" name="myform" method="post"
输入字符串:input type="text" name="str" value="5555我爱My祖国" /br /
输入起始位置:input type="text" name="str_start" /br /
输入截取长度:input type="text" name="str_len" /br /
input type="submit" name="sub" value="开始截取字符串" /
/form
?php
/*截取字符串的函数--------------数组式截取*/
function msubstr2($str,$start,$len){
$t = explode(" ",microtime());
$tt = round($t[0],5);
//将字符串中每个字符分开 并放到数组中
$str_arr = array();
$j = 1;
for($i=0;$istrlen($str);$i++){
if(ord(substr($str,$i,1))0xa0){ //说明是汉字 则需要一次截取3个字符
$str_arr[$j] = substr($str,$i,3);
$i = $i+2;
}else{
$str_arr[$j] = substr($str,$i,1);
}
$j++;
}
print_r($str_arr);
for($i=$start;$i=$len+$start-1;$i++){
if($icount($str_arr)){ //判断是否超出数组最大长度 如果是 则结束循环
break;
}
$str_temp .= $str_arr[$i];
}
$t = explode(" ",microtime());
$ttt = round($t[0],5);
return $ttt-$tt;
//return $str_temp;
}
function msubstr1($str,$start,$len){
$t = explode(" ",microtime());
$tt = round($t[0],5);
$j = 0; //记录截取的字符串的字符位置
$s = 0; //记录已经截取的字符长度
$str_temp = "";//记录截取的字符串
$k = strlen($str);
for($i=0;$i$k;){//循环全部字
if($s=$len) break;//如果已经截取的字符串长度超过要截取的长度 跳出循环 返回结果
if(ord(substr($str,$i,1))0xa0){ //判断是否为汉字
if($j+1=$start){//如果当前截取字符位置大于等于要截取的字符串的开始位置并且当前已经截取的字符长度还没有超出要截取的字符串的长度 则将此字符为要截取的字符
$str_temp .= substr($str,$i,3);
$s++;//已经截取的字符串长度加1
}
$j++;//当前截取的字符串的位置加1
$i+=3;//确定为汉字 在utf8编码下占三个英文字符的长度 则需要记录三个字符
}else{
if($j+1=$start){
$str_temp .= substr($str,$i,1); //截取英文字符
$s++;//已经截取的字符串长度加1
}
$j++;//当前截取的字符串的位置加1
$i++;//非汉字字符占一个字符的长度
}
}
$t = explode(" ",microtime());
$ttt = round($t[0],5);
//return $ttt-$tt;
return $str_temp;
}
if($_POST[sub]){
echo msubstr1($_POST[str],$_POST[str_start],$_POST[str_len]);
}
?
/body
/html
php 怎么截取字符前面几个字符
PHP 中的 substr() 函数可以实现
substr() 函数返回字符串的一部分。
substr(string,start,length)
其中参数的含义:
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。
例子1
?php
echo substr("Hello world!",6);
?
输出:
world!
例子2
?php
echo substr("Hello world!",6,5);
?
输出:
world
php截取文章前50个字
这里有一个万能字符串截取函数,
function cut_str($string, $sublen, $start = 0, $charset = 'UTF-8')
{
if($charset == 'UTF-8')
{
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; -php截取文章前50个字
preg_match_all($pa, $string, $t_string);
if(count($t_string[0]) - $start $sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; -php截取文章前50个字
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i $strlen; $i++)
{
if($i=$start $i ($start+$sublen))
{
if(ord(substr($string, $i, 1))129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))129) $i++;
}
if(strlen($tmpstr) $strlen ) $tmpstr.= "...";
return $tmpstr;
}
}