Хорошо, вот моя проблема. Я пытаюсь написать скрипт на PHP, который будет анализировать нашу систему заказов на работу и возвращать набор билетов, но я столкнулся с некоторой проблемой, пытаясь разобрать список билетов. Я пытаюсь использовать regex как можно больше, чтобы заставить себя изучить синтаксис, и я мог бы поклясться, что это должно сработать, но, увы, это не так, и поэтому я приезжаю сюда, ища вашу коллективную мудрость.Регулярное выражение для извлечения текста текста между совпадениями
<tr>
...
...
...
...
</tr>
Я пытаюсь получить блок между тегами здесь, так что я могу разобрать, что снова для получения конкретной информации. Размер блока довольно регулярный, но линии между тегами могут варьироваться в зависимости от длины описания в билете. Регулярное выражение, которое я в настоящее время занято является
/<tr>(.+)<\/tr>/
Это, кажется, самый маленький путь к достижению своей цели, но я получаю ошибки от preg_match. Я понимаю, что я мог флаг и цикл его, как и в этом очень и очень грубый псевдокоде
if /<tr>/ then {
while != /<\/tr>/ {
store line
}
}
однако моя цель здесь, чтобы получить лучшее представление о регулярных выражениях и как использовать его.
Вы имеете в виду "/
В чем вопрос? – Sjoerd
lol извините. Это не работает. Мне было интересно, как вы, ребята, будете заниматься тем, что я пытаюсь сделать. Мне сложно понять, что не так с моим регулярным выражением. – Melignus
ответ
Использование Simple HTML DOM.
Регулятор Regex, обрабатывающий html, является беспорядком.
источник
2010-06-23 18:01:40 racerror
Короче да. Извините, на это потребовалось так много времени, чтобы выбрать ответ, но я понял, в чем проблема. Я пытался разбирать блоки текста, которые были далеко друг от друга для регулярного выражения. Я исправил это, бросив некоторые для следующих циклов, чтобы отслеживать, насколько глубоко в те или иные теги я был. Отличная новость заключается в том, что приложение работает, и теперь я получаю текстовое сообщение в будние дни, если на сайте есть записи календаря, даже разбирает несколько записей за один день, очень гордясь собой и был легче, чем я изначально думал. – Melignus
.*?
вместо.*
, или модификатор U (PCRE_UNGREEDY), чтобы соответствовать не жадным.источник
2010-06-23 16:21:21 Sjoerd
Смежные вопросы