Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: по разному работает регулярка на разных серверах
 
 автор: sl1p   (02.03.2011 в 01:30)   письмо автору
 
 

вобщемто сабж. На локалке всё ок.. на серваке не ок.. не находит просто ничего.

в чём трабл может быть?
<?
preg_match_all
('#<h2[^>]*>\s*<a\s*href=["\'](.*?)["\'][^>]*>.*?<div\s*class=["\']offer-stats["\']>#si'$html$match)

  Ответить  
 
 автор: cheops   (02.03.2011 в 11:33)   письмо автору
 
   для: sl1p   (02.03.2011 в 01:30)
 

Версии PHP совпадают?

  Ответить  
 
 автор: Trianon   (02.03.2011 в 11:45)   письмо автору
 
   для: cheops   (02.03.2011 в 11:33)
 

долго вглядывался в шаблон, но не нашел ни одного места, которое бы зависело от версии или еще каких настроек...
Разве что класс пробельных символов может от локали зависеть? Но как-то мне представляется это сомнительным.

  Ответить  
 
 автор: SHAman   (02.03.2011 в 12:11)   письмо автору
 
   для: Trianon   (02.03.2011 в 11:45)
 

Поддерживаю. Тоже долго смотрел, но не нашел что может разниться. Самые простые элементы все.

  Ответить  
 
 автор: sl1p   (02.03.2011 в 14:43)   письмо автору
 
   для: SHAman   (02.03.2011 в 12:11)
 

Не совпадают...

Боевой сервер(не работает) - PHP Version 5.3.5

Локалка - PHP Version 5.2.10


Странно то что всё остальное работает...
по типу:
<?php
preg_match
('#<a\s*href=["\'](.*?)["\'][^>]*>(.*?)</a>#si'$node$match)



строки которые нужно искать выглядят таким образом:

<h2><a href="/catalog/lastochki2/">Здоровые волосы &mdash; это красиво! Диагностика волос и обертывание вдвое дешевле &mdash; 999 рублей вместо 2000</a></h2><p class="offer-comments-href"><a href="/catalog/lastochki2/comments/"><i class="icon icon-comments"></i>5 комментариев</a></p></div><div class="offer-stats">


зы. выражение находит если убрать последние правила:

<?
preg_match_all
('#<h2[^>]*>\s*<a\s*href=["\'](.*?)["\'][^>]*>.*?<div\s*class=["\']offer-stats["\']>#si'$html$match)
// убрали - работает
preg_match_all('#<h2[^>]*>\s*<a\s*href=["\'](.*?)["\'][^>]*>#si'$html$match)


но это не то что нужно.. нужно чтобы за ссылкой, не важно через сколько тегов, стоял див с классом offer-stats..

Возможно здесь каким либо другим способом написать правила об этом?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования