请问如何有效判断一个字符串是welcome 还是welcome to csdn.我的列子如下,请高手来看一看。 GDImageCopyResized: 复制新图并调整大小。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能需要这样先判断是否有welcome1、preg_match("/\bwelcome/",$rr);在有的前提下,再判断是否有welcome to csdn2、preg_match("/\bwelcome +\bto +\bcsdn/",$rr);由于匹配串和待匹配串应该是不确定的,不能太具体化了。如需知道两者并存,可以从原串中删去2匹配的部分后用再用1检查单用正则表达式不能完成语法分析工作 fuction CheckStr(s){var str = s;var regStr1 = /welcome to csdn/;var regStr2 = /welcome/;var rst1 = str.search(regStr1);var r= str.replace(regStr1," ");var rst2 = r.search(regStr2); if(-1 == rst1 && -1 == rst2) return 1;if(-1 != rst1 && -1 == rst2) return 2;if(-1 == rst1 && -1 != rst2) return 3;if(-1 != rst1 && -1 != rst2) return 4;} sorry, 上面的例子是用javascript 写的,php中function ($s){$str = $s;$cnt1 = substr_count($str,"welcome");$cnt2 = substr_count($str,"welcome to csdn");if(0==$cnt1) return 0; //either if($cnt1>$cnt2 && $cnt2==0 ) return 1; // just has welcome if($cnt1==$cnt2 && $cnt2>0 ) return 2; // just has welcome to csdnif($cnt1>$cnt2 && $cnt2>0) return3; //both} function ($s){$str = $s;$cnt1 = substr_count($str,"welcome");$cnt2 = substr_count($str,"welcome to csdn");if(0==$cnt1) return 0; //either if($cnt1>$cnt2 && $cnt2==0 ) return 1; // just has welcome if($cnt1==$cnt2 && $cnt2>0 ) return 2; // just has welcome to csdnif($cnt1>$cnt2 && $cnt2>0) return3; //both} PHP又有重大漏洞 多语言拒绝服务漏洞事件预警 php 怎样把变量post给自己的一个函数?phpdesigner 字母间距大 初学php需要什么环境与软件? ORD()函数的具体意思 【菜问题】如何将当前时间插入数据库 怎么能像信箱那样,一次选中几个项目一起提交。谢谢 怎么把回车和换行也存进数据库,谢谢! 一个文件操作的小问题 新手求教,php源码里面是乱七八糟的内容看不懂怎么办 maybe not a PHP library 想用JS实现这样一个功能,各位帮忙 咨询一下!
先判断是否有welcome
1、preg_match("/\bwelcome/",$rr);
在有的前提下,再判断是否有welcome to csdn
2、preg_match("/\bwelcome +\bto +\bcsdn/",$rr);由于匹配串和待匹配串应该是不确定的,不能太具体化了。
如需知道两者并存,可以从原串中删去2匹配的部分后用再用1检查单用正则表达式不能完成语法分析工作
{
var str = s;
var regStr1 = /welcome to csdn/;
var regStr2 = /welcome/;var rst1 = str.search(regStr1);
var r= str.replace(regStr1," ");
var rst2 = r.search(regStr2); if(-1 == rst1 && -1 == rst2) return 1;
if(-1 != rst1 && -1 == rst2) return 2;
if(-1 == rst1 && -1 != rst2) return 3;
if(-1 != rst1 && -1 != rst2) return 4;}
$str = $s;
$cnt1 = substr_count($str,"welcome");
$cnt2 = substr_count($str,"welcome to csdn");
if(0==$cnt1) return 0; //either
if($cnt1>$cnt2 && $cnt2==0 ) return 1; // just has welcome
if($cnt1==$cnt2 && $cnt2>0 ) return 2; // just has welcome to csdn
if($cnt1>$cnt2 && $cnt2>0) return3; //both
}
$str = $s;
$cnt1 = substr_count($str,"welcome");
$cnt2 = substr_count($str,"welcome to csdn");
if(0==$cnt1) return 0; //either
if($cnt1>$cnt2 && $cnt2==0 ) return 1; // just has welcome
if($cnt1==$cnt2 && $cnt2>0 ) return 2; // just has welcome to csdn
if($cnt1>$cnt2 && $cnt2>0) return3; //both
}