Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 60

Html и регулярка

09.10.2015, 00:49. Показов 978. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой, когда html текст идет без переносов строк вот так:

HTML5
1
<a class="link film-snippet__title" href="/film/1/">Один</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header><a class="link film-snippet__title" href="/film/2/">Два</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header>
Если бы между двумя "<a class" был перенос строки, то работала бы регулярка и данные корректно бы заносились
PHP
1
'#<a class="link film-snippet__title" href="/film/(.*)/">(.*)</a> <span#'
Но в html сплошной текст, как быть?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2015, 00:49
Ответы с готовыми решениями:

Регулярка для html
Доброго времени суток нужна помощь с регуляркой вобщем надо выдрать текст,все строки, между class=&quot; required-entry&quot; &gt;Нужный...

Регулярка для html: от <tr до &lt
Доброго времени суток . Подскажите регулярку плз Текст большой в объёме примерно так выглядит блаблаблаблабла блаблаблаблабла ...

Нужна регулярка для парсинга HTML
&lt;tr&gt; &lt;td id=&quot;request_fix&quot;&gt; &lt;a href=&quot;javascript:void(0)&quot; onclick=&quot;return false;&quot;&gt;&lt;b&gt;Проведение сервисного...

3
 Аватар для metacoder
35 / 35 / 15
Регистрация: 28.07.2011
Сообщений: 64
09.10.2015, 01:05
PHP
1
2
3
4
$input_txt = '<a class="link film-snippet__title" href="/film/1/">One</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header><a class="link film-snippet__title" href="/film/2/">Two</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header>';
 
preg_match_all("/<a class=\"link film-snippet__title\" href=\"\/film\/(.*)\/\">(.*)<\/a>/mUi", $input_txt, $output_array)
var_dump($output_array);
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
array(3) {
  [0]=>
  array(2) {
    [0]=>
    string(59) "<a class="link film-snippet__title" href="/film/1/">One</a>"
    [1]=>
    string(59) "<a class="link film-snippet__title" href="/film/2/">Two</a>"
  }
  [1]=>
  array(2) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
  }
  [2]=>
  array(2) {
    [0]=>
    string(3) "One"
    [1]=>
    string(3) "Two"
  }
}
0
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 60
09.10.2015, 01:29  [ТС]
Цитата Сообщение от metacoder Посмотреть сообщение
PHP
1
2
3
$input_txt = '<a class="link film-snippet__title" href="/film/1/">One</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header><a class="link film-snippet__title" href="/film/2/">Two</a> <span class="film-snippet__content-nowrap"><span class="film-snippet__favorite"></span></span></header>';
preg_match_all("/<a class="link film-snippet__title" href="\/film\/(.*)\/">(.*)<\/a>/mUi", $input_txt, $output_array)
var_dump($output_array);
На regexr.com не проходит

Добавлено через 11 минут
Вот ссылка с полным текстом
regexr.com/3busl
Он почему-то почти весь текст выделяет, а не нужные фрагменты, как было бы, если бы был перенос строк
0
 Аватар для metacoder
35 / 35 / 15
Регистрация: 28.07.2011
Сообщений: 64
09.10.2015, 13:02
Лучший ответ Сообщение было отмечено Dooks как решение

Решение

Dooks, по тому, что без опции U regex будет жадный и сожрёт столько текста, сколько сможет. Соответственно, весь текст до последнего закрывающего тега </a> он запихивает во второй (.*).
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2015, 13:02
Помогаю со студенческими работами здесь

Регулярка для поиска email в html-коде
Java, поиск e-mail в html-коде. Само регулярное выражение (сразу прикладываю несколько вариантов, которые перепробовал с Pattern.MULTILINE...

В файл HTML записан HTML код с выполнением скрипта. Сформировать новое окно из этого HTML кода (c php)
php используется для взятия переменной с сервера, поэтому требуется php переменная. Сейчас я поместил файлы в один каталог, просто для...

Регулярка
1)Надо сделать регулярку, хотя в javascript,jquery полное дно :) Нужно, чтобы при нажатие на кнопку, добавлялся текст в textarea, а когда...

Регулярка
помогите написать регулярку для распознавания в строке слов, которые компилятор C# выделяет синим цветом. тоесть все эти слова забиты в...

Регулярка
print_r(preg_replace('#page-#ismU', '', $_SERVER)); page-1, page -ок, но когда порядковый номер двухзначный. например page-11,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru