博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 字符检测自定义函数
阅读量:4477 次
发布时间:2019-06-08

本文共 1985 字,大约阅读时间需要 6 分钟。

<?php

/**  * 转义字符替换  *  * @param string $subject  * @return string  */ public static function sReplace($subject) {
$search = array('<', '>', '&', '\'', '"'); $replace = array('<', '>', '&', ''', '"'); return str_replace($search, $replace, $subject); }
/**  * 检查是否是中文编码  *  * @param $str  * @return int  */ public static function chkChinese($str) {
return preg_match('/[\x80-\xff]./', $str); }
/**  * 检测是否GB2312编码  *  * @param string $str  * @return boolean false UTF-8编码  TRUE GB2312编码  */ public static function isGb2312($str) {
for ($i = 0; $i < strlen($str); $i++) {
$v = ord($str[$i]); if ($v > 127) {
if (($v >= 228) && ($v <= 233)) {
if (($i + 2) >= (strlen($str) - 1)) return true; // not enough characters $v1 = ord($str[$i + 1]); $v2 = ord($str[$i + 2]); if (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) return false; else return true; } } } return false; }
/**  * 检测是否GBK编码  *  * @param string $str  * @param boolean $gbk  * @return boolean  */ public static function checkChar($str, $gbk = true) {
for ($i = 0; $i < strlen($str); $i++) {
$v = ord($str[$i]); if ($v > 127) {
if (($v >= 228) && ($v <= 233)) {
if (($i + 2) >= (strlen($str) - 1)) return $gbk ? true : FALSE; // not enough characters $v1 = ord($str[$i + 1]); $v2 = ord($str[$i + 2]); if ($gbk) {
return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? FALSE : TRUE;//GBK } else {
return (($v1 >= 128) && ($v1 <= 191) && ($v2 >= 128) && ($v2 <= 191)) ? TRUE : FALSE; } } } } return $gbk ? TRUE : FALSE; }

 

?>

转载于:https://www.cnblogs.com/laowenBlog/p/6053225.html

你可能感兴趣的文章
[C#]C#学习笔记-CIL和动态程序集
查看>>
[Effective C# 4.0 译] 条款21:限定类型的可见性
查看>>
离散化
查看>>
leetcode 23. Merge k Sorted Lists(堆||分治法)
查看>>
用C++建立一个窗口
查看>>
第二百八十八天 how can I坚持
查看>>
在mac上安装ruby
查看>>
javascript 开发规范
查看>>
同一服务器上安装多个tomcat
查看>>
提交JSON修改数据
查看>>
用户体验评价
查看>>
HDU 3432
查看>>
Android 编程下将 Bitmap 转为 InputStream
查看>>
JS 检测中文字符的正则表达式
查看>>
第一次使用接口 --ReportViewer改变显示语言
查看>>
Average of Levels in Binary Tree
查看>>
数组基本
查看>>
从营销角度看kik的成功
查看>>
SQLserver分页查询实例
查看>>
【solr基础教程之二】索引
查看>>