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

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

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

  #61  
Старый 06.12.2008, 03:41
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


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

Цитата:
Сообщение от OnArs  
Но мне нужно имено тело href'а, а титл кстати меняется для каждой ссылки...
Если тока для href, то почти как указал Pashkela:
<?
preg_match('/<a href="(.*)" .*>/s',$a, $result);
echo $result[1];
?>
 
Ответить с цитированием

  #62  
Старый 06.12.2008, 03:51
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

Репутация: 31
Thumbs up

2Pashkela:

Примерно такого содержания код страницы:
PHP код:
<a href="javascript:openWindow('/
berQ0p6inQ/')" 
title="t">text here</a>
<
span>Enquire</span></a>
        </
div><div class="buttonDetails">
<
class="button details" href="javascript:openWindow('/
berQ0p6inQ/')" 
title="t">and here text too</a
В первом случае встречается ссылка без указания class'а в другом с указанием class'a.

Всего на странице около 7 ссылок и хотелось бы реализовать через preg_replace.

Нужно заменить чудо:
href="javascriptopenWindow('/berQ0p6inQ/')"
на
href="index.html"

Вот и всё...

Последний раз редактировалось OnArs; 06.12.2008 в 03:55..
 
Ответить с цитированием

  #63  
Старый 06.12.2008, 04:31
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


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

Ну как то так
PHP код:

$sourc
=<<<HERE
<a href="javascript:openWindow('/
berQ0p6inQ/')" title="t">text here</a>
<span>Enquire</span></a>
        </div><div class="buttonDetails">
<a class="button details" href="javascript:openWindow('/
berQ0p6inQ/')" title="t">and here text too</a>
<a href="javascript:openWindow('/
berQ0p6inQ/')" title="t">text here</a>
<span>Enquire</span></a>
        </div><div class="buttonDetails">
<a class="button details" href="javascript:openWindow('/
berQ0p6inQ/')" title="t">and here text too</a> 
<a href="javascript:openWindow('/
berQ0p6inQ/')" title="t">text here</a>
<span>Enquire</span></a> 
HERE;


  echo 
preg_replace("|(javascript:openWindow\('\/.*\/'\))|sU""index.html",$sourc); 
 
Ответить с цитированием

  #64  
Старый 06.12.2008, 05:45
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

PHP код:
<?
/* Создай файл tema.txt и запихни туда следующее, чтобы проверить работу проги:

 <a href="javascript:openWindow('/berQ0p6inQ/')" title="t">text0</a> 
 <a class="button details" href="javascript:WINDOW('/berQ0341/')" title="t">text1</a> 
 <a class="button details" href="javascript:WINDOW('/berQ0342/')" title="t">text2</a> 
 <a class="button details" href="javascript:WINDOW('/berQ0343/')" title="t">text3</a>

*/


/* Чтобы проверить результаты работы надо 
запустить в опере, выйдет два столбика - 
оригинал и измененный, просто поднести  мышку 
и посмотреть, как изменились ссылки, также
 создается файл tema1.txt, где измененные исходники */

$fp fopen("tema.txt""r");
$list fread($fpfilesize("tema.txt"));
fclose($fp);
echo 
$list "\r\n";   /* удалить потом, просто показывает как было в оригинале */
/*--------------------------------------------------------------------------------------------------------------*/
// Собственно сама замена
/*------------------*/
if (preg_match_all('/href="(.*)" title(.*)/i'$list$result)) 
{
$count count($result[1])-1;
for (
$i=0;$i<=$count;$i++) $list str_replace($result[1][$i], "index.html"$list);
}
/*------------------*/
// Конец замены
$fp fopen("tema1.txt""a+");
fwrite($fp,$list "\r\n");
fclose($fp);
echo 
$list "\r\n";
/*-------------------------------------------------------------------------------------------------------------*/
?>
будет работать независимо от содеражания
того, что в кавычках "javascriptpenWindow('/
berQ0p6inQ/')" и вообще легко подстраивается под
любые нужды

Последний раз редактировалось Pashkela; 06.12.2008 в 06:14..
 
Ответить с цитированием

  #65  
Старый 06.12.2008, 10:49
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

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

Еее!!! Большое Спасибо!!!
Всё наконец то получилось, Сейчас раздам Плюсы!
 
Ответить с цитированием

  #66  
Старый 07.12.2008, 14:54
_Kris_
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме:
304390

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

Надо скопировать текст который находится между <b><kis="ar"> и </b>
Вот вообщем надо регулярку, текст не в одну строку а в несколько.
 
Ответить с цитированием

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

Репутация: 3313


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

Цитата:
Сообщение от _Kris_  
Надо скопировать текст который находится между <b><kis="ar"> и </b>
Вот вообщем надо регулярку, текст не в одну строку а в несколько.
PHP код:
$w '<b><kis="ar"> и </b>';
preg_match('#<b><kis\="ar">(.{0,})</b>#im',$w,$n);
$a$n['1'];
$b $n['1']; 

Последний раз редактировалось ChaaK; 07.12.2008 в 16:04..
 
Ответить с цитированием

  #68  
Старый 07.12.2008, 15:46
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме:
3152874

Репутация: 1020


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

PHP код:
 $w = <<<THIS
 <b><kis="ar">мля большой при большой текст
даеше и с прееводом строки 
несколько 
раз
 </b>  
 
THIS;
 
preg_match('#<b><kis\="ar">(.*?)</b>#is',$w,$n);


 
print_r($n); 
 
Ответить с цитированием

  #69  
Старый 07.12.2008, 15:56
_Kris_
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме:
304390

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

Цитата:
preg_match('#<b><kis\="ar">(.*?)</b>#is',$w,$n);
Цитата:
</b>#is
is - что это значит?
 
Ответить с цитированием

  #70  
Старый 07.12.2008, 16:00
_Kris_
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме:
304390

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

Кстати не пашет.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23



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


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




ANTICHAT.XYZ