提供一些项目中常用的字符串操作功能包括:截取字符串长度、输出转换、随机字符串、全角半角转换、字符集转换、邮箱格式验证、数字转文件大小.
各种字符串格式输出转换代码段:
/** * 输出转换 * @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; } }
主要代码功能:
各种字符串格式输出转换.
主要函数运用:
htmlspecialchars : 从数组中取出一段, 并默认会重新排序并重置数组的数字索引.
htmlentities : 详细请查阅:PHP使用正则表达式查找替换字符串http://blog.csdn.net/websites/article/details/18734583
rawurlencode : 返回字符串,此字符串中除了 -_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。按照 RFC 1738 对 URL 进行编码,为了保护原义字符以免其被解释为特殊的 URL 定界符,同时保护 URL 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。
bin2hex : 将二进制数据转换成十六进制表示
strtr : 转换指定字符
ord : 返回字符的 ASCII 码值 ,该函数是 chr() 的互补函数。
preg_replace : 详细请查阅:PHP使用正则表达式查找替换字符串
HTML自动补全 (详细请查阅:网页内容的html标签补全和过滤的两种方法)
代码段持续更新中...如果没有你需要的,可以留下你的评论,告诉你的需求.
谢谢关注websites博客.
时间: 2024-11-05 06:25:35