php用正则表达抓取网页中文章(php下正则匹配中文的表达式是什么样的?(图))

优采云 发布时间: 2021-12-26 18:20

  php用正则表达抓取网页中文章(php下正则匹配中文的表达式是什么样的?(图))

  首先unicode中文区的0x4e00-0x9fa5可以判断一个字符串是否都是java或js等编程语言有unicode编码的字符串/^[\u4e00-\u9fa5]+ $/中文

  那么php中的字符编码就看页面了,gbk的字符编码是gbk的utf-8,之前有一个表达式“/^[\x80-\xff]+$/”也是一样can only match 是否收录

非ascll字符,汉字只是较小的区域之一,不是很准确

  因为我的页面编码是utf-8,所以把js表达式移到了php中,提醒PCRE不支持“\u”等很多乱七八糟的东西

  查资料得知PHP的正则中有个东西叫字符组,用\x{...}表示,所以我把表达式改成"/^[\x{4e00}- \x{9fa5}]+$/ "也提示"\x"表达式后面的数字太大

  查资料得知可以使用修正模式“u”让程序将以下内容视为unicode字符,所以我将其改为“/^[\x{4e00}-\x{9fa5} ]+$/u" 测试成功

  所以php下匹配中文的正则表达式为"/^[\x{4e00}-\x{9fa5}]+$/u" 这只适用于utf-8编码

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线