Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения, Выборка текста 
V
    Опции темы
djundead
Дата 7.4.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



передается по ссылке из
Код
$page
следующий код:
Код

<!-- cut -->
<span class="user-data">
            Текст <br />
<br />
Текст<br />
<br />
Текст<br />
<br />
Текст<br />
<br />

Bastards.
            </span>
        </td>
<!-- cut -->

Я разбираю его чтобы получить только текст:
Код

preg_match_all("/(?=<span class=\"user-data\">?!<B>).\s*(?=<\/span>?!<\/B>)/",$page,$text);
    while($u<count($text[0])) 
    { 
    echo $text[0][$u++]."\n";
    }

Но ничего не получается =( Подскажите плиз где грабли? Заколебался =( Ну не знаю я регулярные выражения в таком объеме =(
З.Ы.: Текст разный и может быть на сколько угодно строчек...
PM MAIL   Вверх
Darhazer
Дата 7.4.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 1
Всего: 29



А зачем здесь <b> ?
Код

<?
$page = '
<!-- cut -->
<span class="user-data">
            Текст <br />
<br />
Текст<br />
<br />
Текст<br />
<br />
Текст<br />
<br />
Bastards.
           </span>
        </td>
<!-- cut -->
';

$text = preg_match_all("/<span class=\"user-data\">(.*?)<\/span>/si",$page, $arr);
print_r($arr);
?>



--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
djundead
Дата 7.4.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



Код

?!<B>
?!<\/B>)

Стоит как отрицание, недолжно быть.
Потому как заголовок текста содержит теже теги, но с
Код

<b></b>

PM MAIL   Вверх
ZlojEzh
Дата 7.4.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 2
Всего: 15



ошибка, похоже, в выражении .\s* (означает ОДИН произвольный символ и сколько-то пробельных символов за ним)
попробуй заменить на [.\s]* или .* и поставить модификатор s (иначе перевод строки не попадает в определение .)
PM MAIL ICQ   Вверх
djundead
Дата 7.4.2006, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



ZlojEzh,
не помогает, я уже пробовал =(
PM MAIL   Вверх
ZlojEzh
Дата 7.4.2006, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 2
Всего: 15



если внутри <span> из тэгов должны быть только <br> :
Код

preg_match_all("/<span class=\"user-data\">(([^<>]*|<br\s*\/?>)*)<\/span>/",$page,$text);

PM MAIL ICQ   Вверх
djundead
Дата 10.4.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



ZlojEzh, Спасибо большое. Если не сложно подскажите пожалуйста еще как полностью убрать и форматирование?
PM MAIL   Вверх
skalex
Дата 10.4.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 0
Всего: 23



А strip_tags не пробовали ?
PM   Вверх
djundead
Дата 10.4.2006, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.4.2006

Репутация: нет
Всего: нет



skalex, сильно зациклился на регулярках smile совсем забыл что существуют и другие возможности, спасибо большое smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.