Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Шаблон много на себя берет

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
GutsOut
Отправлено: 01 Апреля, 2014 - 11:09:41
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Здравсвуйте, возник вопрос, есть регулярка
<p.*?align="right" class="MsoNormal">(.*?)</p>#si

...и кусок текста ниже. По задумке регулярка должна ловить помеченное зеленым(оно это и делает и это правильно), но почему оно еще отлавливает текст красным, который не надо ловить, я не пойму
<p style="margin-bottom: 0.0001pt;" align="right" class="MsoNormal">Степанова М.
И.</p>
&nbsp;
<h1 style="margin-bottom: 0.0001pt;" class="MsoNormal">ОБУЧЕНИЕ И
АТТЕСТАЦИЯ ПЕРСОНАЛА</h1>
<h2 style="margin-bottom: 0.0001pt;" class="MsoNormal">Кто
оплачивает медосмотры работников?</h2>
<p style="margin-bottom: 0.0001pt;" class="MsoNormal">Законно ли
требование генерального директора об оплате работниками обязательных
предварительных и периодических медосмотров? Обязан ли работодатель возместить
расходы на прохождение медицинского осмотра, если гражданин, поступающий на
работу в организацию, прошел медицинский осмотр до трудоустройства? Имеет ли
право работодатель удерживать из заработной платы работника расходы на
медицинский осмотр, если работник уволился, проработав менее какого-то срока
(например, три месяца)?</p>

<p style="margin-bottom: 0.0001pt;" align="right" class="MsoNormal">Умяров И. Г.</p>&nbsp;
<h1 style="margin-bottom: 0.0001pt;" class="MsoNormal">ТЕХНИЧЕСКОЕ
 
 Top
Мелкий Супермодератор
Отправлено: 01 Апреля, 2014 - 12:31:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Потому что попадает в .*? (включая и последующий <p, почему нет?) между начальным <p и до align.
Вместо любого символа ограничьте явно, что там должно стоять. Например, [^>]+ (как минимум 1 пробел там должен быть, поэтому * использовать нерационально)


-----
PostgreSQL DBA
 
 Top
GutsOut
Отправлено: 01 Апреля, 2014 - 17:30:51
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




Мелкий спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB