strpos函数过滤关键字过滤关键字的问题

ron_xin 2014-10-25 02:13:03


<?php

header("Content-type: text/html; charset=utf-8");

/* PHP中用strpos函数过滤关键字 */
// 关键字过滤函数

function keyWordCheck($content){
// 去除空白
$str = trim($content);
// 读取关键字文本
$keyWords = @file_get_contents('keyWords.TXT');
// 转换成数组

$arr = explode(",", $keyWords);

// 遍历检测

$k=count($arr);
echo $k;
echo "<br>";

for($i=0,$k;$i<$k;$i++){
echo $str;
echo "正在检测关键字:".$arr[$i];
echo "<br>";

// 如果此数组元素为空则跳过此次循环
//if($arr[$i]=='')
//{
// continue;
//}

echo stripos($str,$arr[$i]);

// 如果检测到关键字,则返回匹配的关键字,并终止运行
//if (strpos($str,$arr[$i])>=0) {
//$i=$k;
//return $arr[$i];
//echo "检测至关键字:".$arr[$i];
//echo "<br>";
//}
}
// 如果没有检测到关键字则返回false
return false;
}

$content = '这里是要发布的珠海文本内容WWW。。。';

// 过滤关键字
$keyWord = keyWordCheck($content);
echo $keyWord;


?>


echo stripos($str,$arr[$i]); //检测不到
echo stripos($str,“珠海”); //检测到了

keyWords.TXT 的内容
珠海,中环,澳门,机场

------------------------------
4
这里是要发布的珠海文本内容WWW。。。正在检测关键字:珠海
这里是要发布的珠海文本内容WWW。。。正在检测关键字:中环
这里是要发布的珠海文本内容WWW。。。正在检测关键字:澳门
这里是要发布的珠海文本内容WWW。。。正在检测关键字:机场


极度闷当中
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-10-25
  • 打赏
  • 举报
回复
BOM 头占有长度,但不会显示 你把 keyWords.TXT 文件改成这样: ,珠海,中环,澳门,机场 即最前面是一个逗号
ron_xin 2014-10-25
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
var_dump("珠海,中环,澳门,机场"); 应该是 string(27) "珠海,中环,澳门,机场" 显然你的 keyWords.TXT 有BOM 头
可是$arr[$i]出来是对的呀。
xuzuning 2014-10-25
  • 打赏
  • 举报
回复
var_dump("珠海,中环,澳门,机场"); 应该是 string(27) "珠海,中环,澳门,机场" 显然你的 keyWords.TXT 有BOM 头
ron_xin 2014-10-25
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
$keyWords = @file_get_contents('keyWords.TXT'); var_dump($keyWords); 看看结果
string(30) "珠海,中环,澳门,机场"
xuzuning 2014-10-25
  • 打赏
  • 举报
回复
$keyWords = @file_get_contents('keyWords.TXT'); var_dump($keyWords); 看看结果

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧