很多站长朋友们都不太清楚php提取txt分词,今天小编就来给大家整理php提取txt分词,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 用php读取txt内容 2、 php 逐行读取txt 并,分隔判断 3、 php 提取中文后简单分词 用php读取txt内容首先fopen读取TXT文件,获取一个文件指针,然后fgets获取一行,再fgets继续读取下一行
官方例子:
<?php
$f = fopen ("fgetstest.php", "r");
$ln= 0;
while (! feof ($f)) {
$line= fgets ($f);
++$ln;
printf ("%2d: ", $ln);
if ($line===FALSE) print ("FALSE\n");
else print ($line);
}
fclose ($f);
这个前提是你的$f这个文件指针不能关闭,如果你想在不同请求的情况下实现,那就要吧$f做全局存储了,看看存session可否(我没做过,不确定,你试试看)
php 逐行读取txt 并,分隔判断<?
$file = file_get_contents('text.txt');
//读取文件
$lines = explode('\n', $file);
//按行分割字符串
echo '<table>';
//用表格输出
for($lines as $line){
echo '<tr>';
//分行
$keys = explode(',', $line);
//按逗号分割
for($keys as $key){
echo "<td>$key</td>";
//输出每行中的各列
}
echo '</tr>';
}
echo '</table>';
php 提取中文后简单分词$str = "汉字一二3四5六七八,九十六七...";
$s1 = array();//初始化储存第二步结果的数组
//preg_match_all("/[x80-xff]+/", $str, $match);//此为GBK使用
preg_match_all("/[\x{4e00}-\x{9fa5}]{2,}+/u", $str, $match);//此为UTF-8使用
foreach($match[0] as $str1)//循环遍历匹配到的汉字
{
$leng = iconv_strlen($str1, "UTF-8");//计算汉字其长度
for($i = 0; $i < $leng-1; $i++)
{
$temp = mb_substr($str1, $i, 2, "UTF-8");//将汉字切割长两个字,得第一步结果
if(!in_array($temp, $s1))//去除重复,得第二步结果
$s1[] = $temp;//得到的汉字存入数组
}
}
//print_r($s1);//第一二步完成,得数组$s1,可打印查看结果
$s2 = file_get_contents("21.txt");//将文件内所有字符读取成一个字符串
$s2 = iconv("", "UTF-8", $s2);//将字符串转码,否则难免有乱码
//echo $s2;//可输出查看文件中的内容
$s = "";//初始化最终结果的变量
foreach($s1 as $j)//遍历汉字对
{
if(preg_match("/".$j."/", $s2))//判断该汉字对是否被包含于文件的文字中
$s .= ("" == $s) ? $j : "\\".$j;//将结果合在$s中
}
echo $s;//得结果,可输出查看或调用
若有疑问,可追问。
注释详细,希望能加分
关于php提取txt分词的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。