请问如何有效判断一个字符串是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} 根据条件显示数据库的内容 GD库应用:如果文字过长如何实现换行,并且设定行距? 如何用正则在字符串插入分割符? httpd.conf中Timeout与php.ini中max_execution_time的区别 PHP编写的程序能改成JAVA的吗 有多少种触发事件方法? 我有windows2003上即要运行PHP,又要运行ASP。NET请问怎么配置呀 一个菜 问题..羞愧 ..一下想不起来! 如何在php中使用程序到入另一个页?? 视频已经传到优酷了 怎么去掉广告 想用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
}