У меня есть регулярное выражение, которое должно соответствовать какой-то строке вида: src = "/ blkjad.dafsdf">. Это выглядит так: (src | href) (\ s *)? = (\ S *)? (\ "| \ ') / ([^ /]. *?) \ 4.
Хотя на одном из сайтов, на которых я работаю, это работает нормально, на другом, встроенном в Cake, происходит сбой. Вот еще один неверный Regex => '/ (") /', который должен соответствовать любой двойной кавычке в строке.
Я сейчас в растерянности. Один из старших разработчиков, на котором я работаю, просто взглянул на это и покачал головой. К сожалению, я не настолько опытен в Cake, и я не могу найти подобных проблем в Интернете. Есть идеи?
edit: Для записи, регулярное выражение с ошибкой использует preg_match_all, а другое (идентичное / рабочее регулярное выражение) использует preg_replace. Вот соответствующий код.
$regex['php'] = '/(src|href)(\s*)?=(\s*)?(\"|\')\/([^\/].*?)\4/';
$php = htmlspecialchars(file_get_contents(sprintf('/home/x/x/x/x/x/%s.%s', $string, $extension))); echo $php;
if (preg_match_all($regex['php'], $php, $out)){
echo sizeof($out);
echo nl2br(print_r($out, true));
} else {
echo 'Doesn\'t work';
}