PHP正则匹配出汉字
<?$string=file_get_contents('http://www.baidu.com');……?>我想把百度首页上“知道”这两个字给扣出来!我该怎么写!...
<?
$string=file_get_contents('http://www.baidu.com');
……
?>
我想把百度首页上“知道”这两个字给扣出来!我该怎么写! 展开
$string=file_get_contents('http://www.baidu.com');
……
?>
我想把百度首页上“知道”这两个字给扣出来!我该怎么写! 展开
展开全部
html源码中有两个“知道”,一个是标题,一个链接
我的理解,是连接里的
用(?<=<a[^>]+>)(?=(知[\w&;]+|道[\w&;]*)?</a>)(知[\w&;]+|道[\w&;]*)?
得到的结果是:
知 道 (中间有&-n-b-s-p;)
对这个结果,再用一次replace("",“[^\\u4e00-\\u9fa5]+”,"");就可以得到知道了。
这个我无法一次得到。
我不会php哦,不能写php代码了。也不知道对楼主的意思理解的对不。要是有问题,请楼主再描述一下。
我的理解,是连接里的
用(?<=<a[^>]+>)(?=(知[\w&;]+|道[\w&;]*)?</a>)(知[\w&;]+|道[\w&;]*)?
得到的结果是:
知 道 (中间有&-n-b-s-p;)
对这个结果,再用一次replace("",“[^\\u4e00-\\u9fa5]+”,"");就可以得到知道了。
这个我无法一次得到。
我不会php哦,不能写php代码了。也不知道对楼主的意思理解的对不。要是有问题,请楼主再描述一下。
展开全部
知道php文件的编码与百度的编码一样就可以了。
以下代码是我将“百度”两个字进行了url编码,让程序代码自己进行解码,这样来避免php程序文件的编码对汉字的影响。
<?php
$string = file_get_contents('http://www.baidu.com');
preg_match('/.*('.urldecode('%D6%AA%B5%C0').').*/', $string, $matches);
print_r($matches);
?>
以下代码是我将“百度”两个字进行了url编码,让程序代码自己进行解码,这样来避免php程序文件的编码对汉字的影响。
<?php
$string = file_get_contents('http://www.baidu.com');
preg_match('/.*('.urldecode('%D6%AA%B5%C0').').*/', $string, $matches);
print_r($matches);
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是匹配汉字的正则表达式规则:/^[\x{4e00}-\x{9fa5}]+$/u。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不明白。你配置出知道两个字有什么用意思呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询