Исправить баг в регулярке
Имеется html, который начинается на
<html lang=uk-x-mtfrom-en><head>....
180 - 186 строки кода:
и такая регулярка, которая должна извлечь язык из тела страницы
preg_match("/<html[^>]+lang=[\"']?(.*?)[\"']?[^>]?*>/is",$html,$lang_match);
if(empty($lang_match))
{
preg_match("/<html[^>]+lang=([^\"'>]+).*?>/is",$html,$lang_match);
}
echo "<pre>".print_r($lang_match,true)."</pre>";
if(!empty($lang_match)) $lang = $lang_match[1];
Выбивает такое предупреждение:
Warning: preg_match(): Compilation failed: nothing to repeat at offset 35 in Text.php on line 180
180 строка в коде подчеркнута снизу.
Нужно подсказать, что не так в этой регулярке, почему происходит Warning?
-
569 26 0 Здравствуйте, Дмитрий.
Разбираюсь в регулярных выражениях, буду рада помочь.
-
324 7 0 Держите бесплатную консультацию от меня :)
В вашей регулярке идут подряд два знака повторения:
* и ?
(в самом конце).
Оставьте один из них, который вам нужен - и ошибка пропадет.
В данном случае лучше подходит знак вопроса - ?.
preg_match("/]+lang=[\"']?(.*?)[\"']?[^>]?>/is",$html,$lang_match);
-
153 2 0 Добрый день. Имею опыт работы с регулярными выражениями и их применением на сайтах . Мой аккаунт.
Freelancehunt
-
preg_match("/<html[^>]+lang=[\"']?([^\"\'\s\>]*)[\"']?[^>]*?>/is",$html,$lang_match);
if(!empty($lang_match)) $lang = $lang_match[1];
Результат в $lang
-
Актуальные фриланс-проекты в категории PHP
Разработка 2 SEO-ориентированных сайтов по продаже запчастей (квадроциклы и спецтехника)Разработка двух специализированных сайтов по продаже запчастейОбщая информация Необходимо разработать два специализированных сайта: Запчасти для квадроциклов, UTV, SSV и другой подобной техники. Запчасти для специальной техники. Существующий сайт компании:… PHP, Веб-программирование ∙ 11 часов 35 минут назад ∙ 49 ставок |
Доработка сайта Bropack на WordPress (правки по верстке, настройка форм и SEO)Описание задачи:Ищем опытного WordPress-разработчика/верстальщика для оперативного завершения проекта https://bropack.com.ua/ . Сайт уже сверстан и посажен на WordPress, но в связи со срывом сроков предыдущим исполнителем, необходимо закрыть техническую часть, настроить базовое… HTML и CSS верстка, PHP ∙ 12 часов 42 минуты назад ∙ 25 ставок |
Ищу White-label решение Букмекерской конторы под аренду |
Разработка веб-сайта WordPress
1002 UAH
|
Сломалась корзина WooCommerce (WordPress) — не добавляет товар и не открывается страница корзиныНа сайте интернет-магазина https://www.dobryi-gospodar.com/ (WordPress + WooCommerce) полностью перестала работать функция оформления заказа. При нажатии на кнопку "Добавить в корзину" (как в карточке товара, так и в каталоге) начинается длительная загрузка (индикатор крутится),… CMS, PHP ∙ 3 дня 5 часов назад ∙ 60 ставок |