加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Codeigniter删除所有html标签

发布时间:2020-12-13 22:14:18 所属栏目:PHP教程 来源:网络整理
导读:如何使用codeigniter删除所有 HTML标记?我猜你必须使用 PHP函数strip_tags,但我想要像XSS过滤的全局设置 谢谢 解决方法 如果您指的是使用输入法,是的,您可以从技术上打开system / libraries / Input.php,请转到以下代码: /*** Clean Input Data** This is
如何使用codeigniter删除所有 HTML标记?我猜你必须使用 PHP函数strip_tags,但我想要像XSS过滤的全局设置

谢谢

解决方法

如果您指的是使用输入法,是的,您可以从技术上打开system / libraries / Input.php,请转到以下代码:

/**
* Clean Input Data
*
* This is a helper function. It escapes data and
* standardizes newline characters to n
*
* @access   private
* @param    string
* @return   string
*/
function _clean_input_data($str)
{
    if (is_array($str))
    {
        $new_array = array();
        foreach ($str as $key => $val)
        {
            $new_array[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);
        }
        return $new_array;
    }

    // We strip slashes if magic quotes is on to keep things consistent
    if (get_magic_quotes_gpc())
    {
        $str = stripslashes($str);
    }

    // Should we filter the input data?
    if ($this->use_xss_clean === TRUE)
    {
        $str = $this->xss_clean($str);
    }

    // Standardize newlines
    if (strpos($str,"r") !== FALSE)
    {
        $str = str_replace(array("rn","r"),"n",$str);
    }

    return $str;
}

在xss clean之后,您可以像这样放置自己的过滤功能:

// Should we filter the input data?
if ($this->use_xss_clean === TRUE)
{
    $str = $this->xss_clean($str);
}

$str = strip_tags($str);

但是,这意味着每次更新CodeIgniter时,都必须再次进行此更改.此外,由于这样可以全局地完成所有这一切,因此,如果你要获得的价值是数字,那就没有意义.由于这些原因

现在换另一种解决方案,您可以使用CodeIgniter Form Validation库,让您为字段设置自定义规则,包括可以接受一个参数的php函数,例如strip_tags:

$this->form_validation->set_rules('usertext','User Text','required|strip_tags');

我不确定具体情况,所以我会让你决定采取哪种方式,但总的来说我建议在每种情况下处理数据验证,因为在大多数情况下,对数据的验证是唯一的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读