Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: simple html dom

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuller
Отправлено: 20 Апреля, 2016 - 19:48:57
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




подскажите как изменить у всех ссылок href ? несколько часов сижу мучаюсь с заменой.... через поисковик тоже не могу найти.... (может ищу не правильно)

в данный момент код имеет такой вид

PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = str_get_html($html);
  3.  
  4. $link_news = $dom->find('a[class="newsitem__title link-holder"]');
  5.  
  6. foreach($link_news as $key => $link)
  7. {
  8.         $a = $link->find('a', 0);
  9.         $one = curl_get($link->href);
  10.         $onedom = str_get_html($one);
  11.         $title = $onedom->find('h1[class="hdr__inner"]', 0);
  12.         $text = $onedom->find('div[class="article__text js-module js-track_visibility js-mediator-article"]', 0);
  13.        
  14.         if($text != '')
  15.         {
  16.                 $y = $text->find('div[class="box box_small box_block"]', 0);
  17.                 $im = $text->find('div[class="article-photo__caption"]', 0);
  18.                 $im2 = $text->find('div[class="article__item article__item_alignment_left article__item_blocks article__item_blocks_bottom"]', 0);
  19.                 $embed = $text->find('div[class="article__item article__item_alignment_left article__item_embed article__item_source_[object Object]"]', 0);
  20.                
  21.                 if($y != '') $y->outertext = '';
  22.                 if($im != '') $im->outertext = '';
  23.                 if($im2 != '') $im2->outertext = '';
  24.                 if($embed != '') $embed->outertext = '';
  25.                
  26.                 $div[0] = $text->find('div[class="article__item article__item_alignment_left article__item_image"]', 0);
  27.                 $div[1] = $text->find('div[class="article__item article__item_alignment_left article__item_teaser article__item_teaser_news"]', 0);
  28.                
  29.                 if($div[0] != '') $div[0]->outertext = '';
  30.                 if($div[1] != '') $div[1]->outertext = '';
  31.                
  32.                 $img = $text->find('img[class="photo__pic"]', 0);
  33.                 if($img != '') $img->outertext = '';
  34.         }
  35.        
  36.         if(count($text->find('div[class="article__item article__item_alignment_left article__item_html"]')))
  37.         {      
  38.                 foreach($text->find('div[class="article__item article__item_alignment_left article__item_html"]') as $divs)
  39.                 {
  40.                         if($divs->last_child() == '<p>&nbsp;</p>') $divs->outertext = '';
  41.                         $divs->class = "articles";
  42.                 }
  43.         }
  44.        
  45.         $arr = explode('=', urldecode($img->src));
  46.         $arrs = explode('&', $arr[1]);
  47.        
  48.         $time = date('U');
  49.        
  50.         $ch1 = curl_init($arrs[0]);
  51.         $fp = fopen('upload/'.$time.'.jpg', 'wb');
  52.         curl_setopt($ch1, CURLOPT_FILE, $fp);
  53.         curl_setopt($ch1, CURLOPT_HEADER, 0);
  54.         curl_exec($ch1);
  55.         curl_close($ch1);
  56.         fclose($fp);
  57.        
  58.         echo <<<HTML
  59.                 <input type="checkbox" onclick="save($key);"><span id="title$key">{$title->plaintext}</span><br>\n
  60.                 <img src="upload/{$time}.jpg"><br>\n
  61.                 <div id="news{$key}">{$text->innertext}</div><hr>\n
  62.                 <div id="img$key" style="display: none;">{$time}.jpg</div>\n
  63. HTML;
  64.         break;  
  65. }
  66.  

(Добавление)
сделал через регулярное выражение.

PHP:
скопировать код в буфер обмена
  1. $text->innertext = preg_replace('!<a href="https://(.*?).site.ru(.*?)">(.*?)</a>!si', "\\3", $text->innertext);


з.ы.
если есть решение сделать через simple html dom буду рад!

(Отредактировано автором: 20 Апреля, 2016 - 20:08:04)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB