zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C++笔记(2018/2/6)
    2017级面向对象程序设计寒假作业1
    谁是你的潜在朋友
    A1095 Cars on Campus (30)(30 分)
    A1083 List Grades (25)(25 分)
    A1075 PAT Judge (25)(25 分)
    A1012 The Best Rank (25)(25 分)
    1009 说反话 (20)(20 分)
    A1055 The World's Richest(25 分)
    A1025 PAT Ranking (25)(25 分)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9116443.html
Copyright © 2011-2022 走看看