⑴ php判断字符串是否有繁体中文
可以借用 iconv 函数,通过对给定字符串分别转换成简体代码集(GB2312)和 GBK 字符集,再进行两橡巧者的比较,如果一致则可以判断为简慎枯体,反之是繁体中文。
提供网上示例代码供参考:
$str="这是繁体中文";
$strGbk=iconv("UTF-8","GBK//IGNORE",$str);
$strGb2312=iconv("UTF-8","GB2312//IGNORE",$str);
if($strGbk==$strGb2312){
echo'简体';
}else{
echo'繁体';
}
需要提示的:
某些字,中文简体和繁体是一样的字(但意思不一样),比如:繁体的乾(gan)净的“乾”和乾(qian)坤的“乾”字,都是“乾”字,但它在第梁孝键一个词语里是繁体字,在第二个词语里是简体字。
⑵ php中如何判断内容中是否包含指定的文字
如果不是特别复杂的字符判断,不建议用正则,php的字符串函数完全可以实现,strpos()例如:
$x = "abc张三klllk";
if(strpos($x,"张三") > 0){
echo "ok";
}
当然这样会有一个问题,就是当"张三"出现在字符串开头的时候,结果也为0,
这时候就要在字符串前加一特殊字符来判断。
$x="张三abc";
$x1 = "%**#".$x;
if(strpos($x1,"张三") > 0){
echo "ok";
}
(2)php判断字符串是否包含中文扩展阅读
用explode进行判断PHP判断字符串的包含代码如下:
function checkstr($str){
$needle ='a';//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){return true;
} else{
return false;}
}⑶ PHP 查找中文字符串
在PHP中查找中文字符,有两种方案:
将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。
将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。
第一种方法:
strpos($curl_res,'中文');
第二种方法:
$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');
主意:函数中的中文字符串参数的编码,必须要和PHP文件保存格式的编码一致。
⑷ php 如何判断字符是汉字还是英文
常见的就是用strlen()和mb_strlen()函数
strlen($str); 中文utf8占3个字符
mb_strlen($str,'utf8'); 中文utf8占1个字符
可以根据strlen()和mb_strlen()返回结果,两者比较判断是汉字、英文还是中英混合
strlen() 等于 mb_strlen() 全英
strlen() 对 mb_strlen() 取余为0 全汉
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
⑸ php检查字符串中是否有汉字/数字/英文字母
只能用正则
<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "有中文";
} else {
echo "没中文";
}
if (preg_match("/\d/", $str)) { //判断字符串中是否有数字
echo "有数字";
} else {
echo "没数字";
}
if (preg_match("/\w/", $str)) { //判断字符串中是否有英文
echo "有英文";
} else {
echo "没英文";
}
?>
⑹ php 如何识别文本语言种类,比如输入“你好”,返回“中文”;输入“hello”,返回英文
判断文本语言的种类其实是判断字符集的位置范围,这里提供几款正则给你参考:
<?php
$string='网络知道';
if(preg_match_all("/^([x81-xfe][x40-xfe])+$/"),$string,$match)
//使用preg_match_all判断的是全部是中文
//若使用preg_match则判断的是是否包含中文
//$match是一符合正则要求结果的多维数组
//如果是UTF-8编码的话,则可以将正则替换成/^([u4e00-u9fa5])+$/
{
echo'中文';
}
else
{
echo'不是中文';
}
?>