我已经阅读了有关添加分隔符的其他回复,但是错误消息调用的行没有'。'在它。
这是错误消息:
Warning: preg_match(): No ending delimiter '.' found in /homepages/17/d257823593/htdocs/includes/file.inc on line 895.
这是代码(第一行是第895行):
elseif ($depth >= $min_depth && preg_match($mask, $file)) {
// Always use this match over anything already set in $files with the same $$key.
$filename = "$dir/$file";
$basename = basename($file);
$name = substr($basename, 0, strrpos($basename, '.'));
非常感谢任何帮助。
答案 0 :(得分:1)
正则表达式的第一个字符是指定的分隔符,必须在末尾用另一个字符补充(*)(**)
在您的情况下,您的$mask
变量似乎以.
开头,例如.something$
;你应该使用一个合适的分隔符,例如默认的分隔符:
/.something$/
表达式修饰符之前的(*) (**)结尾分隔符不一定是相同的字符
$str = 'Hello test world!';
$mask = '.*';
echo preg_match($mask, $str); // Warning: preg_match(): No ending delimiter '.' found in /tmp/execpad-2054fb2e6491/source-2054fb2e6491 on line 6
$str = 'Hello test world!';
$mask = '~.*~';
echo preg_match($mask, $str); // 1