diff --git a/application/controllers/welcome.php b/application/controllers/welcome.php index 65db0a8a..e01cf36e 100644 --- a/application/controllers/welcome.php +++ b/application/controllers/welcome.php @@ -197,9 +197,9 @@ class Welcome extends CI_Controller { public function count_redirect_nofollow() { $include_redirece_info = - $this->Information_model->search_all_text('.htm&t=78002', 2000); - echo 'count: '.count($include_redirece_info).'
'; - $nofollow_count = 0; + $this->Information_model->search_all_text('&t=78002', 2000); + echo 'redirect count: '.count($include_redirece_info).'
'; + $redirect_nofollow_list = []; $htm_doc = new DOMDocument(); $htm_doc->encoding='UTF-8'; libxml_use_internal_errors(true); @@ -214,22 +214,64 @@ class Welcome extends CI_Controller { $a_rel = $anchor->getAttribute('rel'); $match_result = array(); - preg_match('/.*.htm&t=78002$/', $a_href, $match_result); + preg_match('/.*&t=78002$/', $a_href, $match_result); $result_count = count($match_result); if ($result_count > 0 && $a_rel != 'nofollow') { - $nofollow_count = $nofollow_count + 1; echo $info->ic_url.' | '.'('.$info->ic_id.','.$info->is_id.')'.'
'; echo 'a.href: '.$a_href.'; rel: '.$a_rel.'
'; - var_dump($match_result); + $redirect_nofollow_list[] = $info; } - // if ($result_count == 2) { - // $result = '//www.chinahighlights.com'.$match_result[1]; - // $anchor->setAttribute('href', $result); - // echo $result.'
'; - // } } } - echo 'nofollow_count: '.$nofollow_count.'
'; + echo 'nofollow_count: '.count($redirect_nofollow_list).'
'; + return $redirect_nofollow_list; + } + + public function transform_redirect_nofollow() { + $redirect_nofollow_list = $this->count_redirect_nofollow(); + $htm_doc = new DOMDocument(); + $htm_doc->encoding='UTF-8'; + libxml_use_internal_errors(true); + $htm_doc->strictErrorChecking = false; + + foreach ($redirect_nofollow_list as $info) { + $htm_doc->loadHTML( + mb_convert_encoding($info->ic_content, 'HTML-ENTITIES', 'UTF-8')); + $htm_doc->normalizeDocument(); + $anchor_list = $htm_doc->getElementsByTagName('a'); + foreach ($anchor_list as $anchor) { + $a_rel = $anchor->getAttribute('rel'); + $anchor->setAttribute('rel', 'nofollow'); + $this->Logs_model->backup($info->is_id, $info->ic_content); + $info->ic_content = $htm_doc->saveHTML(); + $this->InfoContents_model->Update( + $info->ic_id, + $info->ic_url, + $info->ic_url_title, + $info->ic_type, + $info->ic_title, + $info->ic_content, + $info->ic_summary, + $info->ic_seo_title, + $info->ic_seo_description, + $info->ic_seo_keywords, + $info->ic_show_bread_crumbs, + $info->ic_status, + $info->ic_template, + $info->ic_photo, + $info->ic_photo_width, + $info->ic_photo_height, + $info->ic_recommend_tours, + $info->ic_recommend_packages, + $info->ic_ht_area_id, + $info->ic_ht_area_type, + $info->ic_ht_product_id, + $info->ic_ht_product_type, + $info->ic_author); + } + } + + echo 'update_nofollow_count: '.count($redirect_nofollow_list).'
'; } public function count_http_of_href() {