php如何判断词性一个词的词性

//定义编码
header( 'Content-Type:text/charset=utf-8 ');
$words=array('我','你','他');
$content="测一测我是不是违禁词";
$banned=generateRegularExpression($words);
//检查违禁词
$res_banned=check_words($banned,$content);
write_html($content,$res_banned);
* @describe 数组生成正则表达式
* @param array $words
* @return string
function generateRegularExpression($words)
$regular = implode('|', array_map('preg_quote', $words));
return "/$regular/i";
* @describe 字符串 生成正则表达式
* @param array $words
* @return string
function generateRegularExpressionString($string){
$str_arr[0]=$
$str_new_arr=
array_map('preg_quote', $str_arr);
return $str_new_arr[0];
* 检查敏感词
* @param $banned
* @param $string
* @return bool|string
function check_words($banned,$string)
$match_banned=array();
//循环查出所有敏感词
$new_banned=strtolower($banned);
if (!empty($new_banned) && preg_match($new_banned, $string, $matches)) {
$isempyt=empty($matches[0]);
if(!$isempyt){
$match_banned = array_merge($match_banned, $matches);
$matches_str=strtolower(generateRegularExpressionString($matches[0]));
$new_banned=str_replace("|".$matches_str."|","|",$new_banned);
$new_banned=str_replace("/".$matches_str."|","/",$new_banned);
$new_banned=str_replace("|".$matches_str."/","/",$new_banned);
if($i&20){
}while(count($matches)&0 && !$isempyt);
//查出敏感词
if($match_banned){
return $match_
//没有查出敏感词
return array();
* 打印到页面上
* @param $filepath
* @param $res_mingan
* @param $res_banned
function write_html($content,$res_banned){
print_r($content);
if($res_banned){
&font color='red'&违禁词(".count($res_banned)."):&/font&".implode('|',$res_banned));
echo "&br&";
阅读(...) 评论()crtl+f的功能php怎么实现,就是输入一个词全都变色_百度知道
crtl+f的功能php怎么实现,就是输入一个词全都变色
我有更好的答案
p>PHP&str_replace() 函数定义和用法str_replace() 函数使用一个字符串替换字符串中的另一些字符:该函数是二进制安全的。例子 1&;,&&font&color=red&gt。请使用&str_ireplace()&执行对大小写不敏感的搜索,我变,我变变变&);。规定要查找的值; &必需; &count &nbsp。语法str_replace(find,replace,string?&变变变&/font&gt。一个变量,对替换数进行计数。 & &nbsp?phpecho&str_replace(&变变变&quot。 & &&quot:该函数对大小写敏感。注释; &可选,count)参数描述find &replace & &必需。规定被搜索的字符串。 & &string & &提示和注释注释;,&我变;必需。规定替换&find&中的值的值。 &nbsp
你和我不再一个频道上:用jq的find(),能行吗
采纳率:67%
来自团队:
php难以实现;字符串&/span&gt。直接用js替换 查询框里的字符串,替换成 &span style='color='&gtjs来做的吧
&span onclick=test('PHP')&PHP&/span&&script&function test(val){var html=document.getElementById('body')
//获取body的对象,或者指定标签的对象//这里替换掉所有的已经标记过的内容。html.innterHtml=html.innterHtml.replace(/&span\s?style='color:red'&([^&&]+)&\/span&/,'$1')//替换所要查询的内容html.innterHtml=html.innterHtml.replace(val,&span style='color:red'&php&/span&)}&/script&类似于这样的思路,代码手动写的,可能有错的地方。&span 里呢,可以指定一个特殊的独有的标记来识别。
本回答被网友采纳
为您推荐:
其他类似问题
php的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用php判断AABB式词语_百度知道
用php判断AABB式词语
function AABBgbk($str,$start)
while($a=mb_substr($s,$i,4,&gbk&))
if(mb_strlen($a,&gbk&)!=4)
$c1=mb_substr($a,0,1,&gbk&);
$c2=mb_substr($a,1,1,&gbk&);
$c3=mb_substr($a,2...
我有更好的答案
$c2=mb_substr($a;;echo AABBgbk($arr,0),2,&quot!=4)
$c1=mb_substr($a; }$arr = &NSHKAAsBB&
$i++;gbk&);
$c3=mb_substr($a,&quot,1; } return false,0,$i,4,&gbk&gbk&);
if($c1==$c2 && $c3==$c4) {
return $a;)){
if(mb_strlen($a,&gbk&quot,&),1;gbk&);
$c4=mb_substr($a,3,&quot,1,1; $i=$ while($a=mb_substr($sfunction AABBgbk($str,$start){ $s=$str
采纳率:80%
来自团队:
为您推荐:
其他类似问题
词语的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。php 怎么实现搜索词自动完成_百度知道
php 怎么实现搜索词自动完成
我有更好的答案
打一个字,就可以出来一些可能的结果 如果是的话使用AJAX,前台的.post函数,然后用php操作数据库把结果通过json发给前台,JQuery的是和百度一样的吗
采纳率:80%
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。php判断是否包含两个词的正则表达式_百度知道
php判断是否包含两个词的正则表达式
这两个词1.两个词中只出现某一个.两个词都有出现; 和 &#39我想判断是否包含两个词,比如 '外送'茶&#39,通过2
其实就是情色广告的过滤,外送和茶两个词都出现就是情色的内容(台湾外送茶是暗指上门服务),但是外送和茶单独出现就不算情色内容,两个词都没有出现当然也不算违规内容啦
我有更好的答案
& } else {
echo &, $str) || preg_match(&外送' 和 '茶' 这两个词&quot, $str)){
echo &通过&;不通过&正则;?php $str = &我想判断是否包含两个词;/茶/&,比如 '; if(preg_match(&/外送&#47:&lt
其实你的逻辑有错误,还有能不能一条正则实现呢?可能我会有3个词,4个词,5个.....
&?php $str = &我想判断是否包含两个词,比如 '外送' 和 '茶' 这两个词,如果有多对词则这用|隔开&; if(preg_match(&/(([外送]+)(.*)([茶]+))|(([如果]+)(.*)([隔开]+))/&, $str)){
echo &非法&;//两个词同时出现认为非法 } else {
echo &合法&;//不同时出现或都不出现为合法 }?&看上去比较繁杂,不推荐用正则,效率低。
词很多的话,效率确实低,请问还有其他更好的办法吗?
$key = array(&非法&,&词汇&,&过滤&);$str = &检查这句是否包含非法词汇&;for($i = 0; $i & count($key); $i++){
if(strpos($key[$i], $str) & -1) {
echo &非法&;
exit(0); }}思路是这样,没调试。
采纳率:38%
问题描述不够完整如果两个词都不出现 是通过还是不通过呢~
前面两位的合起来就可以了
为您推荐:
其他类似问题
您可能关注的内容
正则表达式的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 如何判断词性 的文章

 

随机推荐