ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Регулярные выражения: выбрать из html кода все картинки за исключением первой
  #1  
Старый 14.02.2010, 18:34
Аватар для kof
kof
Новичок
Регистрация: 01.07.2006
Сообщений: 10
Провел на форуме:
61364

Репутация: 0
Exclamation Регулярные выражения: выбрать из html кода все картинки за исключением первой

Вобщем по сабжу - если такое возможно сделать одним-двумя регулярными выражениями то прошу пример.

Подробно: есть файл html из которого нужно вырезать (убрать) все картинки за исключением первой. Нужно реализовать только с использованием регулярного выражения (или двух).

UPD: Я не могу редактировать php код, но я могу отредактировать регулярное выражение которое вырезает текст.

Последний раз редактировалось kof; 14.02.2010 в 19:46..
 
Ответить с цитированием

  #2  
Старый 14.02.2010, 19:19
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

unset($massiv[0]);
 
Ответить с цитированием

  #3  
Старый 14.02.2010, 19:33
Аватар для vvy
vvy
Познающий
Регистрация: 29.03.2009
Сообщений: 33
Провел на форуме:
73399

Репутация: 7
Отправить сообщение для vvy с помощью ICQ
По умолчанию

Универсальный вариант (за оптимальность не ручаюсь)
Код:
var dell=false;
var reg=/<img[^>]*>/gi;
function replacer(str, p1, p2, offset, s)
{
if (!dell) { dell=true; return str;}
	else return '';
}
var new_body=document.getElementsByTagName('body')[0].innerHTML.replace(reg,replacer);
document.getElementsByTagName('body')[0].innerHTML=new_body;
Мне кажется так будет лучше, но надо дописать регулярку reg так, что б она просто не сработала на первую картинку
Код:
var reg=/<img[^>]*>/gi;
var new_body=document.getElementsByTagName('body')[0].innerHTML.replace(reg,'');
document.getElementsByTagName('body')[0].innerHTML=new_body;
 
Ответить с цитированием

  #4  
Старый 14.02.2010, 19:45
Аватар для kof
kof
Новичок
Регистрация: 01.07.2006
Сообщений: 10
Провел на форуме:
61364

Репутация: 0
По умолчанию

Цитата:
Сообщение от Chaak  
unset($massiv[0]);
Я не могу редактировать php код, но я могу отредактировать регулярное выражение которое вырезает текст. В топике сказано возможно-ли ТОЛЬКО регулярным выражением это сделать или нет.
 
Ответить с цитированием

  #5  
Старый 14.02.2010, 19:56
Аватар для kof
kof
Новичок
Регистрация: 01.07.2006
Сообщений: 10
Провел на форуме:
61364

Репутация: 0
По умолчанию

vvy: именно регулярным выражением могу пользоваться, никакого яваскрипта и пхп не могу использовать, тоесть есть php-код в котором я могу изменить лишь регулярное выражение, а сам код изменять не могу. вот такой ребус.
 
Ответить с цитированием

  #6  
Старый 14.02.2010, 20:00
Аватар для vvy
vvy
Познающий
Регистрация: 29.03.2009
Сообщений: 33
Провел на форуме:
73399

Репутация: 7
Отправить сообщение для vvy с помощью ICQ
По умолчанию

kof, а чем тебе это не вариант с регулярными выражениями? 0_о переведи на php и все.

ЗЫ А вобщето язык можно было бы и в первом посте написать.....

Последний раз редактировалось vvy; 14.02.2010 в 20:02..
 
Ответить с цитированием

  #7  
Старый 14.02.2010, 20:28
Аватар для kof
kof
Новичок
Регистрация: 01.07.2006
Сообщений: 10
Провел на форуме:
61364

Репутация: 0
По умолчанию

Цитата:
Сообщение от vvy  
kof, а чем тебе это не вариант с регулярными выражениями? 0_о переведи на php и все.
Можно много чего, но легче использовать какую-то хитрость в регулярном вывражении если она имеется, что я и пытаюсь выяснить...

Цитата:
Сообщение от vvy  
ЗЫ А вобщето язык можно было бы и в первом посте написать.....
Уже написал, сорри
 
Ответить с цитированием

  #8  
Старый 14.02.2010, 20:36
Аватар для vvy
vvy
Познающий
Регистрация: 29.03.2009
Сообщений: 33
Провел на форуме:
73399

Репутация: 7
Отправить сообщение для vvy с помощью ICQ
По умолчанию

Цитата:
Сообщение от kof  
хитрость в регулярном вывражении:
Регулярное выражение точно такое же как я тебе написал, но хитрость в его вызове, что б заменить текст по регулярному выражению в php есть функция preg_replace. А если регулярка вызывается функцией preg_match, к примеру, то она тебе не сможет заменить текст, она просто найдет тебе совпадения.
 
Ответить с цитированием

  #9  
Старый 14.02.2010, 20:45
Аватар для kof
kof
Новичок
Регистрация: 01.07.2006
Сообщений: 10
Провел на форуме:
61364

Репутация: 0
По умолчанию

vvy: В скрипте используется preg_replace, а изменить скрипт я не могу, могу лишь изменить само регулярное выражение
 
Ответить с цитированием

  #10  
Старый 14.02.2010, 20:59
Аватар для vvy
vvy
Познающий
Регистрация: 29.03.2009
Сообщений: 33
Провел на форуме:
73399

Репутация: 7
Отправить сообщение для vvy с помощью ICQ
По умолчанию

Код:
~(<img[^>]*>)~i
эта регулярка найдет все изображения, что б она не смогла увидеть первое изображение нужно ее немного дописать, опираясь на html код этой картинки, поэтому давай код или несколько примеров, если он меняется (именно первое по счету изображение выделить из всех остальных, не дописывая кода, не получится)

ЗЫ а ты можешь влиять на параметр "на что менять" в функции preg_replace?

Последний раз редактировалось vvy; 14.02.2010 в 21:05..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка Windoze глазами линуксоида (100% факты) nerezus Болталка 47 16.10.2005 15:06
Внедрение Sql кода с завязанными глазами k00p3r Чужие Статьи 0 12.06.2005 20:48
Внедрение Sql кода с завязанными глазами, часть 2 k00p3r Чужие Статьи 0 12.06.2005 20:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ