PHP中当前文件为GBK或GB2312编码,怎么用正则表达式取汉字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中当前文件为GBK或GB2312编码,怎么用正则表达式取汉字相关的知识,希望对你有一定的参考价值。
<?php
$str = "这%里是^测&试*中$心,欢.迎e你4的6到k来,我r们awe这y里wet一ef直在努力gr着找寻最佳gr的伙伴,希望您的$$%加盟可以@推动我们GH团队高速发展!";
$code = "/(^[".chr(0xa1)."-".chr(0xff)."][^\xB0-\xf7]*)4$/";
preg_match_all($code,$str,$arr);
print_r($arr);
?>
如上,怎么取出str字串中的三个汉字(这三个汉字中可能夹含有非汉字字符或空格,换行符等等),我后面的操作中要往正文第一个汉字开始数三个汉字后,插入一个字串,希望大家帮帮忙
我用下面那段代码页不行,输出的是:Array ( [0] => Array ( ) ) ,是空的。
<?php
$str = "这%里是^测&试*中$心,欢.迎e你4的6到k来,我r们awe这y里wet一ef直在努力gr着找寻最佳gr的伙伴,希望您的$$%加盟可以@推动我们GH团队高速发展!";
$code = "/^[".chr(0xa1)."-".chr(0xff)."]+$/";
preg_match_all($code,$str,$arr);
print_r($arr);
?>
$chn = str_replace('/[^\u4E00-\u9FA5]/','', $str);
判断是否有中文,$chn=过去非中文字符 参考技术B 试一下代码:
$str = "这%里是^测&试*中$心,欢.迎e你4的6到k来,我r们awe这y里wet一ef直在努力gr着找寻最佳gr的伙伴,希望您的$$%加盟可以@推动我们GH团队高速发展!";
$code = "/[".chr(0xa1)."-".chr(0xff)."]+/";
preg_match_all($code,$str, $arr); //GB2312汉字字母数字下划线正则表达式
print_r($arr);本回答被提问者采纳 参考技术C 做四川廖排骨吧,很不错的选择。
PHP - 如何处理文件名乱码
在中文windows环境下,PHP的文件系列函数(File System),譬如file_exists()、mkdir()等,如果路径或文件名中包含中文,则不能够正确识别,导致函数执行不成功。
这是因为在中文windows使用的是GBK编码,而PHP默认是UTF-8编码。
因此对于这个问题,需要将文件名称转换为GBK编码,譬如:
mkdir(iconv("UTF-8", "GBK", "中文"));
如果这类函数用的多,可以自行封装一下,以方便调用。
以上是关于PHP中当前文件为GBK或GB2312编码,怎么用正则表达式取汉字的主要内容,如果未能解决你的问题,请参考以下文章