Судя по логам, Perl не может загрузить/выполнить скрипт /opt/otrs/scripts/apache2-perl-startup.pl.
Вызывается этот файл видимо откуда-то из скрипта запуска сервиса, или он где-то в конфигах прописан...
Pavel K, да автору нужен был вообще другой вариант, с обязательным использованием lookahead, который он должен был выучить, и проверочное задание решить...
Если пользуетесь regexr.com, то в строке "Tools" укажите строку [$1$2]__, что бы видеть только захваченный в группы текст, а не $& - весь текст, совпавший с RegExp строкой.
В этом скриншоте цветом выделены не группы, а вообще весь текст, который попал в RegExp.
Проверять через regex101.com, там цвета на группах - правильные.
user49981, Хммм, использовать круглые скобки, что бы закаптурить обычные пробелы ? А какой вообще смысл, почему не * вместо +?
Во втором RegExp забыли * после [^>], а следующий за ним [^<]* не даст найти <div>-ы, в которых есть хотя бы один HTML-тэг.
Speakea1y1289, Вам нужун SimpleHtmlDOM parser (например этот). Он умеет всю структуру разматывать, а через CSS selector-ы добудете и нужные вам DOM-элементы со всем их содержимым.
Дмитрий Крапивин, Вот чего нет - того нет. Я видел только базу данных системы сбора информации об услугах гос. органов. А как это всё потом всунули в gosuslugi.ru, как хранят - мне уже не ведомо.
Хе-хе, открою секрет - именно так, в PostgreSQL, хранится вся информация о гос. услугах, которая теперь используется на сайте gosuslugi.ru.
А там в записях - всё, что туда засунул чиновник при документировании услуги, вплоть до Конституции РФ в Microsoft Word файле. В результате чего одна услуга разбухла до 100 мегабайт, и база просто не бекапилась. Так что не стоит из базы данных устраивать гигафайлохранилище.
Так экранируйте звёздочку там, где эту RegEx строку строите/генерируете.
Потому что вы должны понимать, что без правильного экранирования она бесполезна.
Ну или действуйте по принципу "некорректный вариант ну хоть как-то приводим к корректному": заменяем '**' на '*\*'.
Во-вторых, непонятна формулировка "поиск и по символу (*)". И меется ввиду поиск сивола '*' в каком-то тексте?
Тогда нужно экранировать '*' символом обратной косой '\'.
В начале скрипта ну совсем-совсем никак? Очень странно.
Ну тогда буфферизация. Либо второй вариант: $output .= "<html>..."; $output .= "..."; $output .= "...</html>"; echo($output);
Только вот и буфферизация, и использование переменной для вывода - можно уткнуться в предел доступной оперативной памяти.
С action='' в скрипте выполняете SQL-запрос, а потом делаете: header("Location: http://laravel.php");
Только есть одно условие: header() должен вызываться ДО ЛЮБОГО echo().
То есть блок с SQL-запросом должен быть в саааааамом начале скрипта. Ну или использовать буфферизацию вывода.