Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

06.12.2008, 03:41
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Сообщение от OnArs
Но мне нужно имено тело href'а, а титл кстати меняется для каждой ссылки...
Если тока для href, то почти как указал Pashkela:
<?
preg_match('/<a href="(.*)" .*>/s',$a, $result);
echo $result[1];
?>
|
|
|

06.12.2008, 03:51
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
2Pashkela:
Примерно такого содержания код страницы:
PHP код:
<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>
В первом случае встречается ссылка без указания class'а в другом с указанием class'a.
Всего на странице около 7 ссылок и хотелось бы реализовать через preg_replace.
Нужно заменить чудо:
href="javascriptopenWindow('/berQ0p6inQ/')"
на
href="index.html"
Вот и всё...
Последний раз редактировалось OnArs; 06.12.2008 в 03:55..
|
|
|

06.12.2008, 04:31
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Ну как то так
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);
|
|
|

06.12.2008, 05:45
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
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($fp, filesize("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";
/*-------------------------------------------------------------------------------------------------------------*/
?>
будет работать независимо от содеражания
того, что в кавычках "javascript  penWindow('/
berQ0p6inQ/')" и вообще легко подстраивается под
любые нужды
Последний раз редактировалось Pashkela; 06.12.2008 в 06:14..
|
|
|

06.12.2008, 10:49
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
Еее!!! Большое Спасибо!!!
Всё наконец то получилось, Сейчас раздам Плюсы! 
|
|
|

07.12.2008, 14:54
|
|
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме: 304390
Репутация:
172
|
|
Надо скопировать текст который находится между <b><kis="ar"> и </b>
Вот вообщем надо регулярку, текст не в одну строку а в несколько.
|
|
|

07.12.2008, 15:36
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от _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..
|
|
|

07.12.2008, 15:46
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
PHP код:
$w = <<<THIS
<b><kis="ar">мля большой при большой текст
даеше и с прееводом строки
несколько
раз
</b>
THIS;
preg_match('#<b><kis\="ar">(.*?)</b>#is',$w,$n);
print_r($n);
|
|
|

07.12.2008, 15:56
|
|
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме: 304390
Репутация:
172
|
|
preg_match('#<b><kis\="ar">(.*?)</b>#is',$w,$n);
is - что это значит?
|
|
|

07.12.2008, 16:00
|
|
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме: 304390
Репутация:
172
|
|
Кстати не пашет.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|