求高人帮忙写个正则表达式 本帖最后由 zyc900329 于 2011-10-07 21:11:14 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 [a-zA-Z0-9]匹配字母和数字 $str='www.china.com';$str2='china.com';$str3='我china.com';echo matchdomain($str);//www.china.comecho matchdomain($str2);//china.comecho matchdomain($str3);//china.com//=============================function matchdomain($domain){preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);return $matches[0];} 符号好像没有过滤好假如这样<?php$str='www.china.com';$str2='我.china.com';$str3='我[email protected]';echo matchdomain($str);//www.china.comecho matchdomain($str2);//china.comecho matchdomain($str3);//china.com//=============================function matchdomain($domain){preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);return $matches[0];}?>$str3就不行了... 麻烦再帮忙写下 域名里任何符号都不允许 只允许“.” “-” [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.? 这个不是正则的问题了自己处理一下不就可以了吗?养成自己尽量思考的习惯$StrArray=array('www.china.com','china.com','我是china.com');foreach ($StrArray as $value){ if (matchdomain($value)){ echo $value; }}//=============================function matchdomain($domain){ preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches); if (strlen($domain)==strlen($matches[0])){ return true; } return false;} 不好意思 本来正则表达式就不太懂 现在又赶时间您给出的这段代码还是不能过滤其他符号比如$StrArray=array('www.china.com','[email protected]','我是china.com');麻烦帮忙看下 没留意看 function matchdomain($domain){ preg_match('/(([^@a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches); if (strlen($domain)==strlen($matches[0])){ return true; } return false;} 简单点得function matchdomain($domain){ preg_match('/[a-z0-9\-\.]+/i',$domain,$matches); if (strlen($domain)==strlen($matches[0])){ return true; } return false;} 求教一个数组排序问题。。 位操作符:取反!! PHP开发Socket程序的问题 php用什么工具好? 找个人做个小项目,可以拿论坛改一下,自己写也行,2000元 请教表单问题,为什么我这个表单不能接受数据? 深圳php+mysql的朋友进来签到!!!有好事情啊!!! 非常奇怪的问题,服务器封掉了访问者的IP 哪位能提供PHP的发展史 有关Squirrel mail的问题!!急死我了,救命啊 问一个unpack难题 程序结构耦合的一个问题
$str='www.china.com';
$str2='china.com';
$str3='我china.com';
echo matchdomain($str);//www.china.com
echo matchdomain($str2);//china.com
echo matchdomain($str3);//china.com
//=============================
function matchdomain($domain){
preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);
return $matches[0];
}
符号好像没有过滤好
假如这样
<?php
$str='www.china.com';
$str2='我.china.com';
$str3='我[email protected]';
echo matchdomain($str);//www.china.com
echo matchdomain($str2);//china.com
echo matchdomain($str3);//china.com
//=============================
function matchdomain($domain){
preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);
return $matches[0];
}?>$str3就不行了... 麻烦再帮忙写下 域名里任何符号都不允许 只允许“.” “-”
$StrArray=array('www.china.com','china.com','我是china.com');foreach ($StrArray as $value){
if (matchdomain($value)){
echo $value;
}
}//=============================
function matchdomain($domain){
preg_match('/(([a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);
if (strlen($domain)==strlen($matches[0])){
return true;
}
return false;
}
您给出的这段代码还是不能过滤其他符号
比如$StrArray=array('www.china.com','[email protected]','我是china.com');
麻烦帮忙看下
function matchdomain($domain){
preg_match('/(([^@a-z0-9](w|-){0,61}?[a-z0-9]|[a-z0-9]).){1,}(aero|arpa|asia|biz|cat|com|coop|co|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])(.[a-z][a-z]){0,1}/', $domain, $matches);
if (strlen($domain)==strlen($matches[0])){
return true;
}
return false;
}
preg_match('/[a-z0-9\-\.]+/i',$domain,$matches);
if (strlen($domain)==strlen($matches[0])){
return true;
}
return false;
}