还是正则表达式的问题!求教!

liujiaqi455 2012-08-20 03:11:21
下面这段怎么才能截取出来汉字呢,而且还要对英文做判断,因为Registrant :下面有时是英文,有时是汉字!是英文把英文截取出来,是汉字的话就把汉字截取出来!



Registrant :

浠绘澀涓
...全文
118 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiaqi455 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 15 楼 的回复:

浠绘澀涓�gbk环境中乱码,那显然是 utf-8 编码的了
那么就简单了
PHP code
$s =<<< TXT
Registrant :

任杭中



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net

Registrant :

ABCD EFG
……
[/Quote]
呵呵,误会啊,我这个是查询whois的,用whois网站43端口返回信息,返回到网页,但是用你的方法是这样的效果:
Domain Name : qianyan001.com Registrant : 浠绘澀涓� Domain Name Server : f1g1ns1.dnspod.net f1g1ns2.dnspod.net 鏌ョ湅瀹屾暣whois璇峰埌:http://whois.ename.net/qianyan001.com For more information,please go to: http://whois.ename.net/qianyan001.com whois.ename.comArray ( [0] => Array ( ) )
xuzuning 2012-08-21
  • 打赏
  • 举报
回复
怎么不对?我结果都给出了!

我有必要糊弄你吗?
liujiaqi455 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

浠绘澀涓�gbk环境中乱码,那显然是 utf-8 编码的了
那么就简单了
PHP code
$s =<<< TXT
Registrant :

任杭中



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net

Registrant :

ABCD EFG



Domain Name Server :
……
[/Quote]
不对啊,还是查不出来的
xuzuning 2012-08-21
  • 打赏
  • 举报
回复
浠绘澀涓�gbk环境中乱码,那显然是 utf-8 编码的了
那么就简单了
$s =<<< TXT
Registrant :

任杭中



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net

Registrant :

ABCD EFG



Domain Name Server :

f1g1ns1.dnspod.net


TXT;

preg_match_all('/Registrant :\s+[\w ]+/su', $s, $r);
print_r($r);
Array
(
[0] => Array
(
[0] => Registrant :

任杭中
[1] => Registrant :

ABCD EFG
)

)
黄袍披身 2012-08-20
  • 打赏
  • 举报
回复
那你可以用一个变量啊,问题是你不指定这个 你的domain也是英文 计算机能通灵才能知道你这个domain的英文是结束.


[Quote=引用 11 楼 的回复:]

代码返回的就是这样的,一会我贴出来正常的。但是这种格式的怎么写正则呢,PhpNewnew兄台辛苦了,可能是我还没说明白呢,要将这个正则具有灵活性,不管后面有什么都能将“浠绘澀涓”给取出来!单单写“domain”的话不太灵活。
[/Quote]
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
Registrant :

任杭中



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net

liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
代码返回的就是这样的,一会我贴出来正常的。但是这种格式的怎么写正则呢,PhpNewnew兄台辛苦了,可能是我还没说明白呢,要将这个正则具有灵活性,不管后面有什么都能将“浠绘澀涓”给取出来!单单写“domain”的话不太灵活。
一起混吧 2012-08-20
  • 打赏
  • 举报
回复
你的字符串乱码了, 正常是怎么样的?
黄袍披身 2012-08-20
  • 打赏
  • 举报
回复

$str = <<<html
Registrant :

浠绘澀涓�



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net

html;

preg_match('/Registrant :(.*)Domain/is', $str, $match);
echo trim($match[1]);
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
hello?
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
呵呵,是我的疏忽,完整的应该是这样的!

Registrant :

浠绘澀涓�



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net
黄袍披身 2012-08-20
  • 打赏
  • 举报
回复
你给的例子又没有,说的条件也没说到
那到底是什么意思?
你要不给出完整的样子,我随便给你加个后面?

[Quote=引用 3 楼 的回复:]

不对呀,这么写的话后面若是有东西都会一起匹配出来的!
[/Quote]
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
Registrant :

浠绘澀涓�



Domain Name Server :

f1g1ns1.dnspod.net

f1g1ns2.dnspod.net
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
是,只有英文和汉字这两种情况!
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
不对呀,这么写的话后面若是有东西都会一起匹配出来的!
黄袍披身 2012-08-20
  • 打赏
  • 举报
回复
有可能是英文 也有可能是汉字,那么就是只有英文 和汉字两种情况了



$str = 'Registrant :
浠绘澀涓';
preg_match('/Registrant :(.*+)/is', $str, $match);
echo $match[1];
liujiaqi455 2012-08-20
  • 打赏
  • 举报
回复
没人回呀………………

21,887

社区成员

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

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