Исправить баг в регулярке
Имеется 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
Виправити поилку "білого екрану" сайту на Wordpress + Woocomerce
1000 UAH
При спробі зайти у адмінку сайту або на деякі сторінки сайту з'являється повідомлення "на сайті виникла критична помилка". Сайт на Hetzner. PHP, Бази даних та SQL ∙ 28 хвилин тому ∙ 36 ставок |
Потрібна інтеграція KeyCRM → ПРРО Кашалот |
Розробка 2 SEO-орієнтованих сайтів з продажу запчастин (квадроцикли та спецтехніка)Розробка двох спеціалізованих сайтів з продажу запчастинЗагальна інформація Потрібно розробити два спеціалізовані сайти: Запчастини для квадроциклів, UTV, SSV та іншої подібної техніки. Запчастини для спеціальної техніки. Існуючий сайт компанії: https://kiaparts.com.ua/ Нові… PHP, Веб-програмування ∙ 4 дні 4 години тому ∙ 77 ставок |
Розробка веб-сайту WordPress
1002 UAH
|
Парсер expireddomains.net
5000 UAH
Потрібен парсер expireddomains.net на сайті потрібно спочатку залогінитись, проблема в тому що блочить ІР при намаганні парсити дані, потрібно парсити тематичні домени по списку ключових слів, хто не впевнений в своїх силах не пишіть PHP, Веб-програмування ∙ 9 днів 4 години тому ∙ 53 ставки |