php 中文处理函数集合

--- 空格 ---
string GBspace(string) --------- 每个中文字之间加空格
string GBunspace(string) ------- 每个中文字之间的空格清除
string clear_space(string) ------- 用来清除多余的空格

--- 转换 ---
string GBcase(string,offset) --- 将字符串内的中英文字转换大小写
offset : "upper" - 字符串全转为大写 (strtoupper)
"lower" - 字符串全转为小写 (strtolower)
"ucwords" - 将字符串每个字第一个字母改大写 (ucwords)
"ucfirst" - 将字符串第一个字母改大写 (ucfirst)
string GBrev(string) ----------- 颠倒字符串

--- 文字检查 ---
int GB_check(string) ----------- 检查字符串内是否有 GB 字,有会返回 true,
否则会返回false
int GB_all(string) ------------- 检查字符串内所有字是否有 GB 字,是会返回 true,
否则会返回false
int GB_non(string) ------------- 检查字符串内所有字并不是 GB 字,是会返回 true,
否则会返回false
int GBlen(string) -------------- 返回字符串长度(中文字只计一字母)

--- 查找、取代、提取 ---
int/array GBpos(haystack,needle,[offset]) ---- 查找字符串 (strpos)
offset : 留空 - 查找第一个出现的位置
int - 由该位置搜索出现的第一个位置
"r" - 查找最后一次出现的位置 (strrpos)
"a" - 将所有查找到的字储存为数组(返回 array)

string GB_replace(needle,str,haystack) -- 查找与取代字符串 (str_replace)
string GB_replace_i(needle,str_f,str_b,haystack) -- 不检查大小写查找与取代字符串
needle - 查找字母
str - 取代字母 ( str_f - 该字母前, str_b 该字母后)
haystack - 字符串

string GBsubstr(string,start,[length]) -- 从string提取出由开始到结尾或长度
length的字符串。
中文字只计一字母,可使用正负数。
string GBstrnear(string,length) -- 从 string提取最接近 length的字符串。
length 中 中文字计2个字母。

--- 注意 ---
如使用由 Form 返回的字符串前,请先替字符串经过 stripslashes() 处理,除去多余的 \ 。

用法:在原 PHP 代码内加上:
include ("GB.inc");
即可使用以上工具函数。
*/
复制PHP内容到剪贴板

<?php
function GBlen($string) {
$l = strlen($string);
$ptr = 0;
$a = 0;
while ($a < $l) {
$ch = substr($string,$a,1);
$ch2 = substr($string,$a+1,1);
if (ord($ch) >= HexDec("0x81") && ord($ch2) >= HexDec("0x40")) {
$ptr++;
$a += 2;
} else {
$ptr++;
$a++;
} // END IF
} // END WHI?
?>

(0)

相关推荐

  • php 中文处理函数集合

    --- 空格 --- string GBspace(string) --------- 每个中文字之间加空格 string GBunspace(string) ------- 每个中文字之间的空格清除 string clear_space(string) ------- 用来清除多余的空格 --- 转换 --- string GBcase(string,offset) --- 将字符串内的中英文字转换大小写 offset : "upper" - 字符串全转为大写 (strtoupper

  • js判断输入是否中文,数字,身份证等等js函数集合第1/3页

    * 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(theValue==""){ alert(strMsg+"不能为空!"); return true; } return false; } /* 中文判断函数,允许生僻字用英文"*"代替 返回true表示是符合条件,返回false表示不符合 */ function isChinese(str){ var badCha

  • Python处理中文标点符号大集合

    中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏.以下为在下处理中文标点的时候采用的两种方法: 中文标点集合 比较常见标点有这些: !?。"#$%&'()*+,-/::<=>@[\]^_`{|}-⦅⦆「」、.">「」『』[][][]〘〙〚〛〜〝〞〟〰〾〿–-''‛""„‟-‧﹏. 调用zhon包的zhon.hanzi.punctuation函数即可得到这些中文标点. 如果想用英文的标点,则可调用strin

  • php截取中文字符串函数实例

    本文实例讲述了php截取中文字符串函数.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //中文字符串截取 function substr_zh($string,$sublen,$start=0,$code='UTF-8'){  if($code=='UTF-8'){   $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x8

  • jQuery 获取多选框的值及多选框中文的函数

     DOM结构 我的多选框的dom结构,都是下面这种的.都是基础知识,不做过多阐述. <label class="input_checkbox"> <input type="checkbox" name="sell_area" vlaue="0"> <span>甘肃</span> </label> <label class="input_checkbox

  • THINKPHP截取中文字符串函数实例代码

    在项目开发中,我们常常会遇到英文.中文等字符串截取问题,比如说新闻列表页面需要新闻内容简介,这就要用到字符串截取了. 下面就为大家分享一个THINKPHP中已经准备好的字符串截取函数. # 函数解释: msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true) /* $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset="utf-8″:字符编码,默认UTF-8

  • 自己写的php中文截取函数mb_strlen和mb_substr

    众所周知,php 自带的 strlen 与 substr 函数没法处理中文字符,于是,我们会用 mb_ 系列函数替代.但是,没有 mbstring 库怎么办?这就需要我们自己写一个来替代了,废话不多说,先上代码: 复制代码 代码如下: if ( !function_exists('mb_strlen') ) {  function mb_strlen ($text, $encode) {   if ($encode=='UTF-8') {    return preg_match_all('%(

  • 高手推荐的比较有用的ASP函数集合

    现在不写asp了,这次我将我以前沉淀下的一些函数库共享给大家,希望能给初学者启示,给老手也有所帮助吧,先谢谢大家支持! <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%  StartTime=timer() '程序执行时间检测 '############################################################### '┌──VIBO───────────────────┐

  • asp检测是否为中文字符函数

    <% '****************************** '函数:CheckChinese(strng) '参数:strng,待验证字符 '描述:检测是否为中文字符,返回值:中文为true,否则false '示例:<%=CheckChinese(strng)%> '****************************** Function CheckChinese(strng) CheckChinese = true Dim regEx, Match Set regEx

  • oracle 日期函数集合(集中版本)第1/2页

    在oracle数据库的开发中,常因为时间的问题大费周章,所以特地将ORACLE数据的日期函数收藏致此.乃供他日所查也. add_months(d,n) 日期d加n个月 last_day(d) 包含d的月?的最后一天的日期 new_time(d,a,b) a?区的日期和??d在b?区的日期和?? next_day(d,day) 比日期d?,由day指定的周几的日期 sysdate 当前的系?日期和?? greatest(d1,d2,...dn) ?出的日期列表中最后的日期 least(d1,k2,

随机推荐