Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2013, 14:17   #1
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию работа с preg_replace

PHP код:
<?php
//массив с контентом
$cont = array();


    
//загружаем страницу
    
$data file_get_contents("http://ya-cs.ru/modu/4214-mod_warzzz_2_4.html");
    
//извлекаем статью
    
preg_match_all("/class\=\"newsContent\"\>[\s]*(.*)\<b\>\<p/",$data,$mch);
    
    
preg_match_all("/(http\:\/\/.*?)\"/",$mch[1][0],$mch2);
    
//из статьи извлекаем ссылки

   
$i=0;
    while (
$i<count($mch2[1]))
    {
     
$name_f substr($mch2[1][$i], strrpos($mch2[1][$i], '/')+1strlen($mch2[1][$i]));
     
//поймаем имя файла
     
$str_z "http://nsgenn.ru/img/$name_f";
     
//создадим новую ссылку
     
$mch[1][0] = preg_replace("/$mch2[1][$i]/"$str_z$mch[1][0], -1$count);
     
//заменим старую ссылку, на с генерированную. 

     
$dwn './img/'.substr($pstrrpos($p'/')+1strlen($p));
     
//создадим имя внутреннего файла
     
     
if (!file_exists$dwn )) @file_put_contents($dwnfile_get_contents($p));
     
//закачаем, если файла нету.
     
echo 'itt='.$i.' count='.$count.'; name='.$mch2[1][$i].'; на='.$str_z.'; <br>';
     
$i+=1;
   }
//echo $str_s.'<br>';
//preg_match_all($str_s,$mch[1][0],$mch3);
//echo $mch3[1][1];
//echo 'Замен = '.$count;
echo $mch[1][0];
    
//здесь результат

//     $p = $mch2[1][2];
//     $name_f = substr($p, strrpos($p, '/')+1, strlen($p));
//     $str_s = "/http:\/\/.*?$name_f/";
//     $str_z = "http://nsgenn.ru/img/".$name_f;
//echo preg_replace($str_s, $str_z, $mch[1][0]);

?>';
Привет, вообщем аншлаг у меня в коде. Стал я изучать регулярные выражения, более-менее основу понял, поэтому функция preg_match_all сработала верно. А вот замена ссылок с внешних файлов на внутренние никак не хочет работать. ((
Пожалуйста, подскажите, второй день с этой заменой парюсь(
Посторонним В.

Последний раз редактировалось NSvirus; 06.03.2013 в 15:15.
NSvirus вне форума Ответить с цитированием
Старый 07.03.2013, 01:04   #2
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

не актуально
Посторонним В.
NSvirus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Члэши в preg_replace Predator199 PHP 2 02.11.2012 11:49
PReg_Replace не работает impulsgraw PHP 4 02.01.2012 22:16
Проблема с Preg_replace stepennwolf PHP 4 22.01.2011 19:44
Функция preg_replace sergeiqwe PHP 11 02.05.2010 21:47
preg_replace Def@ult PHP 2 12.11.2007 01:58