我刚遇到了一个奇怪的问题。我目前正在使用XAMPP和codeigniter框架。
我需要匹配短代码,我的正则表达式是:
\[(background)=?(.*?)\](.+?)\[/\1\]
但是如果标签之间有新的行,它就不匹配内容,所以我将其更改为:
\[(background)=?(.*?)\]((.|\n)*)\[/\1\]
更改后,网站给我403错误。如果我改回来,它就可以了。
整个代码:
while (preg_match_all('`\[(background)=?(.*?)\]((.|\n)*)\[/\1\]`', $string, $matches)) foreach ($matches[0] as $key => $match) {
list($tag, $param, $innertext) = array($matches[1][$key], $matches[2][$key], $matches[3][$key]);
switch ($tag) {
...
}
$string = str_replace($match, $replacement, $string);
}
这是错误日志给我的:
[Tue Jan 06 03:12:56.101114 2015] [ssl:warn] [pid 10580:tid 596] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Tue Jan 06 03:12:56.145116 2015] [mpm_winnt:notice] [pid 10580:tid 596] AH00354: Child: Starting 150 worker threads.
有人遇到类似的问题,并设法修复它吗?