字符串操作-各种字符串格式输出转换

提供一些项目中常用的字符串操作功能包括:截取字符串长度、输出转换、随机字符串、全角半角转换、字符集转换、邮箱格式验证、数字转文件大小.

各种字符串格式输出转换代码段:

/**
 * 输出转换
 * @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

字符串操作-各种字符串格式输出转换的相关文章

字符串操作--查询字符串出现的次数

1.获取一个字符串在另一个字符串中出现的次数 思路: 1,定义个计数器. 2,获取kk第一次出现的位置. 3,从第一次出现位置后剩余的字符串中继续获取kk出现的位置. 每获取一次就计数一次. 4,当获取不到时,计数完成 程序示例: package tan; public class StringTest2 { public static void sop(String str) { System.out.println(str); } // 缺陷:每次截取字符串占用了很多内存空间 public

字符串操作 - 截取字符串长度代码段

提供一些项目中常用的字符串操作功能包括:截取字符串长度.输出转换.随机字符串.全角半角转换.字符集转换.邮箱格式验证.数字转文件大小. 截取字符串长度代码段: <span style="font-family:SimSun;font-size:12px;">/** * 截取长度 * @param unknown $str * @param number $start * @param unknown $length * @param string $charset * @p

matlab字符串操作总结

matlab字符串操作总结 字符串操作总结 char(S1,S2,…)利用给定的字符串或单元数组创建字符数组double(S)将字符串转化成ASC码形式cellstr(S)利用的给定的字符数组创建字符串单元数组blanks(n)生成一个由n个空格组成的字符串deblank(S)删除尾部的空格eval_r(S) evalc(S)使用MATLAB解释器求字符串表达式的值ischar(S)判断是不是字符串数组iscellstr(C)判断是不是字符串单元数组isletter(S)判断是不是字母isspa

马哥笔记第十六天故障排除、trap、sed、awk、bash数组、bash字符串操作

A.故障排除:             紧急救援模式:rescue,相当于一个小型的linux系统和让你切换到硬盘系统中. 1.grub损坏:                         谨慎操作 dd  if=/dev/zero of=/dev/sda count=1 bs=400   不能大于446,否则破坏分区表中数据.这时需要进入救援模式,选择Rescue installed system,选择语言.键盘设置.是否启用网络.继续continue.选择启动shell.使用chroot

从零开始攻略PHP(5)——字符串操作与POSIX正则

一.字符串操作 1.字符串的格式化 1.1 干掉空格 trim()函数可以除去字符串开始位置和结束位置的空格,并将结果字符串返回. ltrim()函数可以除去字符串开始位置的空格. rtrim()函数可以除去字符串结束位置的空格. 1.2 格式化字符串以便显示 nl2br()函数将字符串作为输入参数,用HTML中的<br />标记代替字符串中的换行符. printf()函数将一个格式化的字符串输出到浏览器中. sprintf()函数返回一个格式化了的字符串. 当在类型转换代码中使用printf

Python 字符串操作和元组操作

字符串操作: 字符串的 % 格式化操作: str = "Hello,%s.%s enough for ya ?" values = ('world','hot') print str % values 输出结果: Hello,world.hot enough for ya ? 模板字符串: #coding=utf-8 from string import Template ## 单个变量替换 s1 = Template('$x, glorious $x!') print s1.subs

python基础10 字符串操作,字典操作,集合操作

本节内容: 字符串操作 字典操作 集合操作 字符串操作 概述 字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等.请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: "I'm OK" 类似的,如果字符串包含",我们就可以用'

Redis数据操作之字符串 | Redis

|  字符串操作 -- 设置字符串     set key value     # 如果字符串键key已经存在,     那么使用新值覆盖原来的旧值 -- 获取字符串     get key     # 返回字符串键key储存的值 -- 仅在键不存在的情况下进行设置     setnx key value     # 仅在键key不存在的情况下,将键key的值设置为value,     效果和set key value NX一样.NX的意思为"Not exists".     # 键不

[Python Study Notes]字符串操作

字符串操作 a.字符串格式化输出 1 name = "liu" 2 print "i am %s " % name 3     4 #输出: i am liu   6 PS: 字符串是 %s;整数 %d;浮点数%f b.查找字符串(find) 1 str.find(str, start=0, end=len(mystr)) # 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 1 >>> str = 'xinge 好帅'