标签:字符串操作 各种字符串格式输出转换
提供一些项目中常用的字符串操作功能包括:截取字符串长度、输出转换、随机字符串、全角半角转换、字符集转换、邮箱格式验证、数字转文件大小.
各种字符串格式输出转换代码段:/**
* 输出转换
* @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