有谁在这里可以帮助我吗? 模式是
/\[url=?\]([a-z0-9:\.\\\/-\s]*?)\[\/url\]/isS
错误:
preg_replace():编译失败:偏移量为26的字符类中的无效范围
答案 0 :(得分:1)
答案 1 :(得分:1)
这应该适用于PHP(PCRE):
/\[url=?\]([a-z0-9:\.\\\/\-\s]*?)\[\/url\]/is
首先转义字符类语句-
中的[]
,否则会出现错误的范围错误。
其次/S
修饰符可能不适合您的模式。阅读:
当一个模式要多次使用时,值得花钱 更多的时间来分析它,以加快所需的时间 匹配。如果设置了此修改器,则进行此额外分析 执行。目前,研究模式仅对其有用 非锚定模式,没有一个固定的起始 字符。
测试正则表达式regex101.com非常好。