标签:字符串操作 各种字符串格式输出转换
提供一些项目中常用的字符串操作功能包括:截取字符串长度、输出转换、随机字符串、全角半角转换、字符集转换、邮箱格式验证、数字转文件大小.
各种字符串格式输出转换代码段:/** * 输出转换 * @param unknown $string * @param string $esc_type * @param string $char_set * @return string|mixed|unknown */ public static function Fescape($string,$esc_type='html',$char_set='ISO-8859-1'){ switch($esc_type){ case 'html': //特殊字符转换为HTML实体 return htmlspecialchars($string,ENT_QUOTES,$char_set); case 'htmlall': return htmlentities($string,ENT_QUOTES,$char_set); case 'url': return rawurlencode($string); case 'urlpathinfo': return str_replace('%2F','/',rawurlencode($string)); case 'quotes': // 转义单引号 return preg_replace("%(?<!\\\\)'%","\\'",$string); case 'hex': //将二进制数据转换成十六进制表示 $return=''; for($x=0;$x<strlen($string);$x++){ $return.='%'.bin2hex($string[$x]); } return $return; case 'hexentity': $return=''; for($x=0;$x<strlen($string);$x++){ $return.='&#x'.bin2hex($string[$x]).';'; } return $return; case 'decentity': $return=''; for($x=0;$x<strlen($string);$x++){ $return.='&#'.ord($string[$x]).';'; } return $return; case 'javascript': // 转义引号和反斜杠、换行等。 return strtr($string,array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n','</'=>'<\/')); case 'mail': // 安全的方式来显示网页上的电子邮件地址 return str_replace(array('@','.'),array('[AT] ','[DOT] '),$string); case 'nonstd': // 转义非标准字符,如文档引用 $_res=''; for($_i=0,$_len=strlen($string);$_i<$_len;$_i++){ $_ord=ord(substr($string,$_i,1)); // non-standard char, escape it if($_ord>=126){ $_res.='&#'.$_ord.';'; }else{ $_res.=substr($string,$_i,1); } } return $_res; default: return $string; } }
ord : 返回字符的 ASCII 码值 ,该函数是 chr() 的互补函数。
preg_replace : 详细请查阅:PHP使用正则表达式查找替换字符串
HTML自动补全 (详细请查阅:网页内容的html标签补全和过滤的两种方法)
代码段持续更新中...如果没有你需要的,可以留下你的评论,告诉你的需求.
谢谢关注websites博客.
标签:字符串操作 各种字符串格式输出转换
原文地址:http://blog.csdn.net/websites/article/details/45246363