X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с регулярным выражением
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 13:18; Ответить: happyhand
Сообщение #1


Есть контент, в нём ищется ссылка и удаляется всё остальное, т.е. остаются только ссылки, соответствующие выражению. Вот сделал так, что удаляется только нужная ссылка:
[php]
$content=preg_replace('/<a href=\"\/moda\/novosty\/.*>/','',$content);
[/php]
но как сделать, чтобы удалялось всё, кроме неё?
Так не получается:
[php]
$content=preg_replace('/^[<a href=\"\/moda\/novosty\/.*>]/','',$content);
[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SOKOJI
SOKOJI
сообщение 29.7.2010, 14:07; Ответить: SOKOJI
Сообщение #2


Функцию другую надо юзать - preg_match, на сколько я помню. Он как раз поместит в массив все вхождения по шаблону.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 14:43; Ответить: happyhand
Сообщение #3


Да, оно. Только нашлась одна ссылка, а их там несколько. Это циклом прогнать нужно?
Попробовал так:
[PHP]
preg_match('/<a href=\"\/moda\/novosty\/.*>/',$content,$out);
while(isset($out)){
echo $out[0];
}
[/PHP]чёт не выходит...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 29.7.2010, 15:01; Ответить: ZhukV
Сообщение #4


[PHP]preg_match_all('/<a href=\"\/moda\/novosty\/.*>/',$content,$out);[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 29.7.2010, 15:04; Ответить: alexdrob
Сообщение #5


кажется модификатор U нужно использовать
[PHP]preg_match('/<a href=\"\/moda\/novosty\/.*>/U',$content,$out);[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 29.7.2010, 15:05; Ответить: alexdrob
Сообщение #6


А точно!
ZhukV, прав)) U немного не то :D
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 15:05; Ответить: happyhand
Сообщение #7


Да, так:
[PHP]
preg_match_all('/<a href=\"\/moda\/novosty\/.*>/',$content,$out);
echo $out[0][1];
echo $out[0][2];
echo $out[0][3];
[/PHP]
А вот как картинки спарсить?
В $content есть адреса <img src..., что с ними делать, как по ним вытащить картинку?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 15:16; Ответить: happyhand
Сообщение #8


Вот непонятно, наряду с тем что нужно выдаёт ещё такие ссылки:
[PHP]
<a href="/moda/novosty/prada-p-rovodit-konkurs-komiksov">Читать</a></div>
[/PHP]
Я же, вроде, указал конкретно, что нужно:
[PHP]
'/<a href=\"\/moda\/novosty\/.*>/'
[/PHP]

всё, что между <a href="/moda/novosty/ и >
А он мне ещё Читать</a></div> выдал...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 15:20; Ответить: happyhand
Сообщение #9


Добавил
[php]'/<a href=\"\/moda\/novosty\/.*\">/'[/php]
вроде нормально
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 29.7.2010, 21:00; Ответить: alexdrob
Сообщение #10


(sergey-g @ 29.7.2010, 18:16) *
А он мне ещё Читать</a></div> выдал..

Вот как раз тут и нужно использовать модификатор U )

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2340 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12461 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3351 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 18.4.2024, 12:40
Дизайн