Procházet zdrojové kódy

文章路径替换

任敬轩 před 1 rokem
rodič
revize
25456c28ea

+ 17 - 2
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -928,7 +928,9 @@ class CameraApiController extends BaseController
 
         $result = DB::connection('etl_zaoquan')->select("select * from news_column_list where type = '".$params['type']."' order by create_time desc limit ".$params['page_size']." offset ".$offset);
 
-        $pattern = '/<img(.*?)src=["\'](.*?)["\'](.*?)>/i';
+        $pattern = '/<img(.*?)src=["\'](.*?)["\'](.*?)>/i';//图片
+
+        $pattern2 = '/href="([^"]+)"/';//文件
 
         if(count($result) > 0){
             for($i=0;$i<count($result);$i++){
@@ -947,8 +949,9 @@ class CameraApiController extends BaseController
 
                 unset($result[$i]->create_time);
 
-                //替换text
+                //替换text的图片
                 preg_match_all($pattern, $result[$i]->text, $matches);
+
                 foreach ($matches[2] as $index => $oldSrc) {
                     $news_img_list = DB::connection('etl_zaoquan')->select("select * from news_img_list where img_name ='".basename($oldSrc)."'");
                     if(count($news_img_list) > 0){
@@ -956,6 +959,18 @@ class CameraApiController extends BaseController
                         $result[$i]->text = str_replace($oldSrc, $newSrc, $result[$i]->text);
                     }
                 }
+
+                //替换text的文件
+                preg_match_all($pattern2, $result[$i]->text, $matches2);
+
+                foreach ($matches2[1] as $index => $oldSrc) {
+                    $news_file_list = DB::connection('etl_zaoquan')->select("select * from news_img_list where img_name ='".basename($oldSrc)."'");
+                    if(count($news_file_list) > 0){
+                        $newSrc = $news_file_list[0]->new_name;
+
+                        $result[$i]->text = str_replace($oldSrc, $newSrc, $result[$i]->text);
+                    }
+                }
             }
         }