php把html标签转换成合法html代码程序

php函数代码如下:

  1. function ihtmlspecialchars($string)
  2. {
  3. if(is_array($string))
  4. {
  5. foreach($string as $key => $val)
  6. {
  7. $string[$key] = ihtmlspecialchars($val);
  8. }
  9. } else
  10. {//开源代码phpfensi.com
  11. $string = preg_replace('/&((#(d{3,5}|x[a-fa-f0-9]{4})|[a-za-z][a-z0-9]{2,5});)/', '&\1',
  12. str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string));
  13. }
  14. return $string;
  15. }

实例代码如下:

  1. $str = '<a href="www.phpfensi.com">dfdfd</a>';
  2. echo ihtmlspecialchars( $str );
  3. echo '<br >';
  4. //echo &lt;a href=&quot;www.phpfensi.com&quot;&gt;dfdfd&lt;/a&gt; 这样就可防止一些不安全因素了。
  5. echo htmlspecialchars ($str );
  6. //print &lt;a href=&quot;www.phpfensi.com&quot;&gt;dfdfd&lt;/a&gt;

两个结果完全相同,所以个人觉得自php自带的函数高效于用户自定义函数.