Эта картина с __FILE__
под preg_quote( $str, '/' )
/^C\:\\xampp\\apps\\wordpress\\htdocs\\wp\-content\\themes\\themename\\inc\\fonts\/uploads\/[^\/\\]+(\/|\\)/
не соответствует этому пути каталога
C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\
здесь (только исключить BELLABOO\BELLABOO-Regular.otf
)
C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\BELLABOO\BELLABOO-Regular.otf
Но после выполнения этого с пользовательским шаблоном, он соответствует:
$pattern = '/.+inc(\/|\\\\)fonts(\/|\\\\)uploads(\/|\\\\)[^\/\\\\]+(\/|\\\\)/';
// $pattern = '/^C\:\\xampp\\apps\\wordpress\\htdocs\\wp\-content\\themes\\themename\\inc\\fonts\/uploads\/[^\/\\]+(\/|\\)/'; Not working!
preg_match( $pattern, $font_path, $matches );
echo $matches[0]; // C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\
Как заставить его работать с первым шаблоном?
Изменить шаблон:
/^C\:\\xampp\\apps\\wordpress\\htdocs\\wp\-content\\themes\\themename\\inc\\fonts\/uploads\/[^\/\\]+(\/|\\)/
С:
/^C\:\\xampp\\apps\\wordpress\\htdocs\\wp\-content\\themes\\themename\\inc\\fonts\/uploads\\[^\/\\]+(\/|\\)/
Других решений пока нет …