HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 14.02.2010, 21:05
WNZRS
Участник форума
Регистрация: 03.09.2009
Сообщений: 179
Провел на форуме:
1014907

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

Если тебе надо не заменять какую-то определённую картинку, то добавь в регулярку то, почему она не подходит.
 
Ответить с цитированием

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

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

Цитата:
Сообщение от vvy  
что б она не смогла увидеть первое изображение нужно ее немного дописать, опираясь на html код этой картинки
дело в том что код картинки никак не отличается от других картинок на странице...

Цитата:
Сообщение от vvy  
ЗЫ а ты можешь влиять на параметр "на что менять" в функции preg_replace?
да, смогу, есть идеи?
 
Ответить с цитированием

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

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

Цитата:
да, смогу, есть идеи?
kof, я в php этим не разу не занимался, но думаю туда можно будет вставить функцию, всю целеком, вместе с телом (как безымянные функции в javascript), ток в начале попробовать нужно будет реализовать...
 
Ответить с цитированием

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

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

vvy, понял идею, буду курить, спасибо!
 
Ответить с цитированием

  #15  
Старый 14.02.2010, 21:23
WNZRS
Участник форума
Регистрация: 03.09.2009
Сообщений: 179
Провел на форуме:
1014907

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

Цитата:
Сообщение от vvy  
kof, я в php этим не разу не занимался, но думаю туда можно будет вставить функцию, всю целеком, вместе с телом (как безымянные функции в javascript), ток в начале попробовать нужно будет реализовать...
нельзя, для этого надо preg_replace_callback()

Есть 2 варианта:
Ничего не менять или менять всё на нужную картинку
 
Ответить с цитированием

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

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

Цитата:
для этого надо preg_replace_callback()
ну не знаю, в моем интерпритаторе(стандартны от денвера) отлично работает вот такой код:
PHP код:
function repl() {return '1111111';}
$html=preg_replace('~(<img[^>]*>)~i',repl(),$html); 
но динамически создать функцию прямо в строке вызова preg_replace так и не получилось

У меня созрел другой вариант: все лишние img-и можно просто "сломать"
PHP код:
$html=preg_replace('~<img~i','<imggggggggg',$html);
$html=preg_replace('~<imggggggggg~i','<img',$html,1); 
И получится, что неизвестный тег <imggggggggg> браузер не отобразит, а первую картинку мы вернем в прежнее состояние
 
Ответить с цитированием

  #17  
Старый 14.02.2010, 22:30
WNZRS
Участник форума
Регистрация: 03.09.2009
Сообщений: 179
Провел на форуме:
1014907

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

Цитата:
Сообщение от vvy  
ну не знаю, в моем интерпритаторе(стандартны от денвера) отлично работает вот такой код:
PHP код:
function repl() {return '1111111';}
$html=preg_replace('~(<img[^>]*>)~i',repl(),$html); 
но динамически создать функцию прямо в строке вызова preg_replace так и не получилось
Ты вызываешь функцию и ставишь на замену её результат

Цитата:
Сообщение от vvy  
У меня созрел другой вариант: все лишние img-и можно просто "сломать"
PHP код:
$html=preg_replace('~<img~i','<imggggggggg',$html);
$html=preg_replace('~<imggggggggg~i','<img',$html,1); 
И получится, что неизвестный тег <imggggggggg> браузер не отобразит, а первую картинку мы вернем в прежнее состояние
Не получиться, ты возвращаешь назад все каринки

Последний раз редактировалось WNZRS; 14.02.2010 в 22:33..
 
Ответить с цитированием

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

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

Цитата:
возвращаешь назад все каринки
Я возвращаю назад только первую найденную картинку (третий параметр в вызове функции)
Цитата:
Ты вызываешь функцию и ставишь на замену её результат
Спасибо, кеп. Но на самом деле это не важно, т.к. результат функции совершенно не зависит от найденного текста
PHP код:
function repl() {
static 
$i;
if (
$i=='') {$i='1'; return '$1';}
    else return 
'';
}
$html=preg_replace('~(<img[^>]*>)~i',repl(),$html); 
(Правдо, этот вариант не рабочий, но я не стал на нем заморациватся, т.к. все равно задать функцию не получилось)
 
Ответить с цитированием

  #19  
Старый 15.02.2010, 00:09
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Привет.
Код:
echo preg_replace('/<img[^>]++>/se', '$Q++ ? "$0" : ""', $data);
Будет notice.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка Windoze глазами линуксоида (100% факты) nerezus Болталка 47 16.10.2005 15:06



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


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




ANTICHAT.XYZ