• Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 10 in


    Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 10 in

    一、总结

    1、[是正则中特殊字符,需要用反斜杠转义

    二、Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 10 in

    1、问题

    I've got a series of .txt files that I'm reading in a for loop. And I've placed a token in some of the text files in the form [widget_]

    So, the entire contents of the text file might be [widget_search] for example. And another text file might contain the content [widget_recent-posts]. Others might just have html formatted text and not have the token at all.

    In the for loop, I'm doing a preg_match to see if the text file is one in which the contents matches my token pattern. And if a match, I'm executing some conditional code.

    However, I'm getting an error when I run a trace test to see if there's a match.

    The error is:

    Warning: preg_match() [function.preg-match]: Compilation failed: missing terminating ] for character class at offset 8 in C:xampplitehtdocs estwp-contentpluginswidget-testwidget-test.php on line 227

    And here's the code at line 227:

    if (preg_match("/[widget_/i",$widget_text)) {//do something}

    2、解答

    You should escape the [ character like this:

    if (preg_match("/[widget_/i",$widget_text)) {//do something}

    3、相似错误

    $start="/^<![CDATA[/";
    $v=preg_replace($start,"",$v);

    三、测试题-简答题

    1、正则中常见的需要转义的特殊字符?

    解答:. /   [  (  (  d

  • 相关阅读:
    select2 下拉搜索 可编辑可搜索 / 只可搜索
    获取服务器时间ajax
    table中td 内容超长 自动折行 (含字母数字文字)
    下拉菜单 ,三级联动 ,夹其它下拉菜单
    echarts 添加标线,设置颜色
    table 中的tr 行点击 变换颜色背景
    checkebox 全选 ,子复选框单个全部选择后,全选框也会被选择
    replace替换,全局和局部替换
    字断行
    ydoc 参考系列
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9116443.html
Copyright © 2020-2023  润新知