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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача на поиск в html 
V
    Опции темы
Slauta
  Дата 7.1.2010, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



Не могу найти нармальное решение задачки, каторая мучает меня не одну неделю.... 

Её суть:
надо найти в тексте  ссылки на картинки (они могут иметь вид 'внутрисерверной' ссылки) типо <img src="image.jpg"> и заменить на {ggg} src="image.jpg" {/ggg} , на первый взгляд всё просто, берём и простой заменой заменяем <img на {ggg}, а патом на {/ggg}.
НО! Не всё так просто! Есть 3 формальности:
1. В тексте присутствуют другие html теги, и просто заменить "> на {/ggg} не палучится!
2. Картинок много...
3. В html свойствах картинки могут присутствовать атрибуты.


Всё! Вот такая вот задачка...
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
awdev
Дата 7.1.2010, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



$html=  preg_replace("/<img (.*?)>/i", "{ggg}$1{/ggg}", $html);
PM MAIL   Вверх
Slauta
Дата 7.1.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



У меня как то более развернуто получается....
А здесь все просто....

Цитата(Slauta @  7.1.2010,  01:53 Найти цитируемый пост)
1. В тексте присутствуют другие html теги, и просто заменить "> на {/ggg} не палучится!

А с этим всё норм будет????
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
nerezus
Дата 7.1.2010, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



решение в отключении жадности.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
patap
Дата 7.1.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код
$res = preg_replace('#(<img (?:.*?)?)(src="[^"]+")((?:.*?)?/?>)#i',  "{ggg}$2{/ggg}", $text);  



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Slauta
Дата 7.1.2010, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



а как при помощи замены достать из <img ... src="i.jpg" ... >, i.jpg???
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
patap
Дата 7.1.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



так тебе надо получить

{ggg}src="asdf.jpg"{/ggg}

или

{ggg}asdf.jpg{/ggg}


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Slauta
Дата 7.1.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



С тем я уже разобрался, мне надо достать ссылку на изображение!
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
patap
Дата 7.1.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

preg_match_all('#(<img (?:.*?)?src=")([^"]+)("(?:.*?)?/?>)#', $text, $result);


Это сообщение отредактировал(а) patap - 7.1.2010, 21:43


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Slauta
Дата 7.1.2010, 23:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



Цитата(patap @  7.1.2010,  20:12 Найти цитируемый пост)
Выделить всёкод PHP
1:
    
preg_match_all('#(<img (?:.*?)?src=")([^"]+)("(?:.*?)?/?>)#', $text, $result);


Это сообщение отредактировал(а) patap - 7.1.2010, 21:43


Дык она ж ищет <img ... src="i.jpg" ... >, а мне надо:

Цитата(Slauta @  7.1.2010,  18:19 Найти цитируемый пост)
мне надо достать ссылку на изображение! 


Цитата(Slauta @  7.1.2010,  15:18 Найти цитируемый пост)
i.jpg??? 

 smile

Добавлено через 4 минуты и 38 секунд
АААА всё нашёл!!!

Код

echo ($result[2]);

 smile  smile  smile  smile  smile  smile  smile  smile  smile 
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
patap
Дата 8.1.2010, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Slauta, подружись c функцией print_r()  и ей подобными ))

Это сообщение отредактировал(а) patap - 8.1.2010, 00:54


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Slauta
Дата 8.1.2010, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Оторванный от жизни
*


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

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



Я прост тупанул немного!
--------------------
Хм...
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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