编译失败:字符类在偏移量4处的范围无效

时间:2019-04-30 12:41:11

标签: php codeigniter preg-match

我使用CI_Minifier并在更新PHP后遇到问题。

现在,当我使用preg_match函数时收到错误消息。

if (!preg_match("/^[\w-:]+$/", $tag)) { #error line
    $node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until('<>');
    if ($this->char === '<') {
        $this->link_nodes($node, false);

        return true;
    }

    if ($this->char==='>') {
        $node->_[HDOM_INFO_TEXT] .= '>';
    }
    $this->link_nodes($node, false);
    $this->char = (++$this->pos<$this->size) ? $this->doc[$this->pos] : null; // next

    return true;
}

错误是:

  

编译失败:字符类的偏移量范围4无效

1 个答案:

答案 0 :(得分:0)

转义连字符:

if (!preg_match("/^[\w\-:]+$/", $tag)) { 

或将其放在字符类的开头:

if (!preg_match("/^[-\w:]+$/", $tag)) { 

或末尾:

if (!preg_match("/^[\w:-]+$/", $tag)) {