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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译失败:偏移量为4的字符类中的无效范围相关的知识,希望对你有一定的参考价值。

我使用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的字符类中的无效范围

答案

逃脱连字符:

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

或者把它放在字符类的开头:

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

或者最后:

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

以上是关于编译失败:偏移量为4的字符类中的无效范围的主要内容,如果未能解决你的问题,请参考以下文章

类中的 2D 矢量调整大小。在此范围内未声明错误[关闭]

Windows / IE11 中的范围元素上的 getBoundingClientRect 不正确

列类型 TIMESTAMP 的 BigQuery 导入转换日期时间偏移量/时区,但列类型 DATETIME 失败并显示“无效的日期时间字符串”

C# - 处理 DST 过渡日的主要时间范围 - 提供的 DateTime 表示无效时间

根据给定时间及偏移的年份求偏移后时间的前一天(支持偏移量为正和负)

c++ 断言字符串迭代器偏移超出范围