class HtmlEncode {
static $_convertToHtmlEntitiesSrcEncoding='UTF-8';
/**
* 将非ASCII字符串转换成HTML实体
*
* @example HtmlEncode::encode("我信了"); //输出:我信了
* @param string $s 要进行编码的字符串
* @return string 返回HTML实体引用
*/
public static function encode($s,$srcEncoding='UTF-8') {
self::$_convertToHtmlEntitiesSrcEncoding=$srcEncoding;
return preg_replace_callback('|[^\x00-\x7F]+|',array(__CLASS__,'_convertToHtmlEntities'),$s);
}
public static function _convertToHtmlEntities($data) {
if (is_array($data)) {
$chars=str_split(iconv(self::$_convertToHtmlEntitiesSrcEncoding,"UCS-2BE",$data[0]),2);
$chars=array_map(array(__CLASS__,__FUNCTION__),$chars);
return join("",$chars);
} else {
$code=hexdec(sprintf("%02s%02s;",dechex(ord($data {0})),dechex(ord($data {1}))));
return sprintf("&#%s;",$code);
}
}
}
分享到:
相关推荐
在PHP编程中,将字符串转为HTML实体是一个重要的安全措施,可以防止XSS(跨站脚本攻击)等潜在的安全问题。HTML实体是用于在HTML文档中表示特殊字符的符号,例如"&"代表"&","<"代表",">"代表">"。这样做...
/** * 将非ASCII字符串转换成HTML实体 * * @example HtmlEncode::encode(“我信了”); //输出:我信了 * @param string $s 要进行编码的字符串 * @return string 返回HTML实体引用 */ public static
HTML实体与非ASCII字符串相互转换类 Func: public encode 字符串转为HTML实体编号 public decode HTML实体编号转为字符串 private _convertToHtmlEntities 转换为HTML实体编号处理
该函数可以将字符串中的HTML特殊字符转换为其对应的HTML实体,以防止XSS攻击。 **示例代码:** ```php $string = "<script>alert('XSS');</script>"; $encoded = htmlspecialchars($string); echo $encoded; // ...
HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集为ISO-8859-1。HTML实体符号我们在网页设计中经常用到。... * public encode 字符串转为
Htmlentities 函数用于将字符串转换为 HTML 实体,例如,Htmlentities("你好</b>") 将字符串 "你好</b>" 转换为 HTML 实体。 12. Trim 函数 Trim 函数用于去除字符串左右两边的空格,例如,Trim(" 你好!世界") 将...
`strtolower()` 用于将整个字符串转化为小写,而 `strtoupper()` 则将字符串全部转为大写。`ucfirst()` 函数将字符串的第一个字符转换为大写,其余保持不变。`ucwords()` 则作用于每个单词的首字母,将其转换为大写...
在PHP编程中,`htmlspecialchars()` 是一个非常关键的函数,用于将预定义的字符转换为HTML实体,以防止数据在HTML环境下产生意外的解析效果。这个函数的主要作用是确保输入到网页的内容不会被浏览器错误地解释为HTML...
4. **printf()** 和 **sprintf()**: printf() 用于格式化输出字符串,而 sprintf() 将格式化的字符串保存到变量中,两者都支持占位符。 5. **ucfirst()**: 转换字符串的第一个字符为大写,如例子所示,"string" ...
例如,`JSON_PRETTY_PRINT`可以使输出的JSON更易读,`JSON_NUMERIC_CHECK`则会尝试将数字字符串转换为数字类型等。例如: ```php $json = json_encode($user, JSON_PRETTY_PRINT | JSON_NUMERIC_CHECK); ``` 除了...
用于将特殊字符转为HTML实体,例如将"&"转为"&",防止XSS攻击。它主要应用于输出用户输入的数据到HTML页面时。 12. **extract()**: `extract()`函数能将数组的元素转化为当前作用域的变量。它允许设置冲突...
2. **iconv**:用于字符编码转换,如`iconv('GBK', 'UTF-8', $str)`将GBK编码的字符串转为UTF-8。 3. **preg_replace**:正则表达式替换函数,支持Unicode,可用于匹配和替换中文字符。例如,`preg_replace('/[\x{...
此外,还有一些其他实用的函数,如`escapeDir()`(目录转换)、`slashes()`(变量转义)、`sqlEscape()`(SQL安全的变量转义)、`sqlImplode()`(数组转为逗号分隔的SQL字符串)、`sqlSingle()`(构建单一的SQL键值...
`strtoupper()` 和 `strtolower()` 分别用于将字符串转换为全大写和全小写,`ucfirst()` 只将字符串首字母转为大写。`htmlentities()` 函数用于将特殊字符转换为HTML实体,防止XSS攻击。`substr_count()`, `strpos()...
此外,PHP代码工具可能还包括了处理emoji输入的功能,如验证用户输入是否包含有效的emoji,或者将输入的emoji字符串转化为适合数据库存储的格式,因为某些数据库系统可能不直接支持Unicode字符。同时,这些工具可能...
69. 新增将数组转换为字符串dr_array2string函数 70. 新增将字符串转换为数组dr_string2array函数 71. 新增根据文件扩展名获取文件预览信息dr_file_preview_html函数 72. 新增IP转为实际地址ip2address函数 73. 新增...
69. 新增将数组转换为字符串dr_array2string函数 70. 新增将字符串转换为数组dr_string2array函数 71. 新增根据文件扩展名获取文件预览信息dr_file_preview_html函数 72. 新增IP转为实际地址ip2address函数 73. 新增...
* @param string $xml xml字符串或者xml文件名 * @param bool $isfile 传入的是否是xml文件名 * @return array 转换得到的数组 */ function xmlToArray($xml,$isfile=false){ //禁止引用外部xml实体 libxm