Home >php教程 >php手册 >php shtmlspecialchars 函数 详解

php shtmlspecialchars 函数 详解

WBOY
WBOYOriginal
2016-06-13 10:51:021129browse

由于还是码农新人,所以还未开始正式的编写大的工程代码,所以老员工给了我一个去年写的大的PHP工程的工程代码,先看下。抱着必须扫清每个死角的心里,下午碰到了

shtmlspecialchars()函数,网上一查挺多人都在用的,但不是PHP自带的,而是莫比较官方的写的。但是这里面的正则表达式着实让我纠结了一方,不讲废话了,切入正题。

[php] 
function shtmlspecialchars($string) { 
    if(is_array($string)) { 
        foreach($string as $key => $val) { 
            $string[$key] = shtmlspecialchars($val); 
        } 
    } else { 
        $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', 
            str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string)); 
    } 
    return $string; 

以上就是shtmlspecialchars()函数的定义,其他的不讲,就讲这句让很多人揪心的

[php]
$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', 
            str_replace(array('&', '"', ''), array('&', '"', ''), $string)); 


这里先介绍下这个函数的作用:

html中可能出现的四种特殊字符进行转义,分别是

&转&

"转"


作者:wolinxuebin

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn