Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с регуляркой / 13 сообщений из 13, страница 1 из 1
14.03.2013, 17:15
    #38184334
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Есть некий текст html надо найти в нем все строки с названиями каналов и добавить в отдельный массив
Код: sql
1.
2.
3.
<img src="/images/tv/ort.gif"
style="border:1px solid #CCCCCC;"><br/>Первый канал
</td>



картинка GIF может быть любая, вся остальная конструкция однотипная.

знаю что нежно приблизительно так

Код: php
1.
		preg_match_all('/<img src=*<br\/>([^<]+)<\/td>/i', $contents, $matches);



но почему-то не работает, наверное ошибка в синтаксисе, помогите пофиксить.
...
Рейтинг: 0 / 0
14.03.2013, 18:02
    #38184448
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Подсказка: * означает любое количество символов. В данном случае будет проверяться любое количество "=" перед <br
...
Рейтинг: 0 / 0
14.03.2013, 21:52
    #38184754
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
* замените на *?

самый простой вариант решения в вашем случае.
...
Рейтинг: 0 / 0
15.03.2013, 01:11
    #38184883
kalamfur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
А разве так не нежнее? :

Код: php
1.
preg_match_all('/<img.*><br\/>([^<]+)<\/td/siU', $contents, $matches);
...
Рейтинг: 0 / 0
15.03.2013, 01:45
    #38184890
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
kalamfurА разве так не нежнее? :

Код: php
1.
preg_match_all('/<img.*><br\/>([^<]+)<\/td/siU', $contents, $matches);


что вы вкладываете в понятие "нежность" в даном конкретном случае?
...
Рейтинг: 0 / 0
15.03.2013, 10:00
    #38185097
kalamfur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Anjey aka PMчто вы вкладываете в понятие "нежность" в даном конкретном случае?

Это не я вкладываю, это у ТС:

авторзнаю что нежно приблизительно так

а я всего лишь предложил один из вариантов решения )
...
Рейтинг: 0 / 0
15.03.2013, 11:14
    #38185223
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
kalamfurА разве так не нежнее? :

Код: php
1.
preg_match_all('/<img.*><br\/>([^<]+)<\/td/siU', $contents, $matches);



Спасибо за НЕЖНЫЙ пример :-)

Еще один вопрос по регулярке, нужно сделать ссылку на названии канала чтобы быстро заходить на канал.

Я делаю так:

Код: php
1.
$contents = preg_replace('/(<img.*><br\/>)([^<]+)(<\/td>)/siU', "\$1<a name=\"$2\">\$2</a>\$3", $contents);



все вроде нормально, но проблема в том что название канала может содержать пробел, и вот когда он попадает в тег <a> ссылка не работает?!

И еще одно, если смотреть 1 html пример, после имени канала стоит Enter, его бы тоже как-то удалять, перед добавлением в тег <a>?

Помогите решить задачу нежно.
...
Рейтинг: 0 / 0
15.03.2013, 11:40
    #38185290
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
rtrim и urlencode вам в помощь
...
Рейтинг: 0 / 0
15.03.2013, 11:59
    #38185339
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Anjey aka PMrtrim и urlencode вам в помощь

Не помогло убрать, может кто изменит мой пример чтобы в нем удалить пробел из адреса ссылки и конец строки?

Код: html
1.
2.
3.
<img src="/images/tv/ort.gif"
style="border:1px solid #CCCCCC;"><br/>Первый канал
</td>




этот код должен быть таким

Код: html
1.
<img src="/images/tv/ort.gif" style="border:1px solid #CCCCCC;"><br/><a name="Первыйканал">Первый канал</a></td>



все в одну строку и без переносов и без пробела в ссылке.
...
Рейтинг: 0 / 0
15.03.2013, 13:19
    #38185519
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Т.е более уточню что мне нужно

берем этот код

Код: php
1.
$contents = preg_replace('/(<img.*><br\/>)([^<]+)(<\/td>)/siU', "\$1<a name=\"$2\">\$2</a>\$3", $contents);




Нужно переменную $2 очистить от пробелов и переводов строки?

как вызвать функцию внутри preg_replace чтобы она обработала переменную $2 ?
...
Рейтинг: 0 / 0
15.03.2013, 13:47
    #38185565
kalamfur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
preg_replace_callback ?
...
Рейтинг: 0 / 0
15.03.2013, 13:50
    #38185577
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
kalamfur preg_replace_callback ?

Это я уже понял, мне бы рабочий пример????
...
Рейтинг: 0 / 0
15.03.2013, 16:10
    #38185884
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с регуляркой
Все сделал, спасибо тем кто отвечал!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с регуляркой / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]