Merge remote-tracking branch 'origin/master' into akun
正在显示
3 个修改的文件
包含
26 行增加
和
43 行删除
| @@ -94,33 +94,16 @@ class TranslateController extends BaseController | @@ -94,33 +94,16 @@ class TranslateController extends BaseController | ||
| 94 | $routeMapModel = new RouteMap(); | 94 | $routeMapModel = new RouteMap(); |
| 95 | $list = $routeMapModel->list(); | 95 | $list = $routeMapModel->list(); |
| 96 | foreach ($list as $k => $v){ | 96 | foreach ($list as $k => $v){ |
| 97 | - switch ($v['source']){ | ||
| 98 | - case RouteMap::SOURCE_INDEX: | ||
| 99 | - $data[] = $this->user['domain']; | ||
| 100 | - break; | ||
| 101 | - case RouteMap::SOURCE_PRODUCT: | ||
| 102 | - $data[] = $this->user['domain'].$v['route'].'/'; | ||
| 103 | - break; | ||
| 104 | - case RouteMap::SOURCE_PRODUCT_CATE: | ||
| 105 | - //todo::查看当前有好多页 | ||
| 106 | - $data[] = $this->user['domain'].$v['route'].'/'; | ||
| 107 | - break; | ||
| 108 | - case RouteMap::SOURCE_BLOG: | ||
| 109 | - $data[] = $this->user['domain'].$v['path'].'/'.$v['route'].'/'; | ||
| 110 | - break; | ||
| 111 | - case RouteMap::SOURCE_BLOG_CATE: | ||
| 112 | - $data[] = $this->user['domain'].RouteMap::PATH_BLOG_CATE.'/'.$v['route'].'/'; | ||
| 113 | - break; | ||
| 114 | - case RouteMap::SOURCE_NEWS: | ||
| 115 | - $data[] = $this->user['domain'].$v['path'].'/'.$v['route'].'/'; | ||
| 116 | - break; | ||
| 117 | - case RouteMap::SOURCE_BLOG_CATE: | ||
| 118 | - $data[] = $this->user['domain'].RouteMap::PATH_NEWS_CATE.'/'.$v['route'].'/'; | ||
| 119 | - break; | ||
| 120 | - default: | ||
| 121 | - $data[] = $this->user['domain'].$v['route'].'/'; | ||
| 122 | - break; | 97 | + if(!empty($v['path'])){ |
| 98 | + if($v['path'] == 'blog'){ | ||
| 99 | + $v['path'] = $v['path'].'s'; | ||
| 123 | } | 100 | } |
| 101 | + $route = $v['path'].'/'.$v['route']; | ||
| 102 | + }else{ | ||
| 103 | + $route = $v['route']; | ||
| 124 | } | 104 | } |
| 105 | + $data[] = $this->user['domain'].$route; | ||
| 106 | + } | ||
| 107 | + $this->response('success',Code::SUCCESS,$data); | ||
| 125 | } | 108 | } |
| 126 | } | 109 | } |
| @@ -135,6 +135,9 @@ class TranslateLogic extends BaseLogic | @@ -135,6 +135,9 @@ class TranslateLogic extends BaseLogic | ||
| 135 | ]; | 135 | ]; |
| 136 | $context = stream_context_create($contextOptions); | 136 | $context = stream_context_create($contextOptions); |
| 137 | $sourceCode = file_get_contents($url, false, $context); | 137 | $sourceCode = file_get_contents($url, false, $context); |
| 138 | + // 过滤掉具有 "change-language-cont" 类的元素 | ||
| 139 | + $pattern = '/<div\b[^>]*\sclass=[\'"]([^\'"]*change-language-cont[^\'"]*)[\'"][^>]*>(.*?)<\/div>/is'; | ||
| 140 | + $sourceCode = preg_replace($pattern, '', $sourceCode); | ||
| 138 | $pattern = '/<style\b[^>]*>(.*?)<\/style>/s'; // 定义匹配`<style>`标签及其内容的正则表达式 | 141 | $pattern = '/<style\b[^>]*>(.*?)<\/style>/s'; // 定义匹配`<style>`标签及其内容的正则表达式 |
| 139 | $strippedContent = preg_replace($pattern, '', $sourceCode); // 删除`<style>`标签及其内容 | 142 | $strippedContent = preg_replace($pattern, '', $sourceCode); // 删除`<style>`标签及其内容 |
| 140 | $pattern = '/<script\b[^>]*>(.*?)<\/script>/s'; // 定义匹配`<script>`标签及其内容的正则表达式 | 143 | $pattern = '/<script\b[^>]*>(.*?)<\/script>/s'; // 定义匹配`<script>`标签及其内容的正则表达式 |
| @@ -147,30 +150,26 @@ class TranslateLogic extends BaseLogic | @@ -147,30 +150,26 @@ class TranslateLogic extends BaseLogic | ||
| 147 | $textContentArray = array_filter($matches[1], function($item) { | 150 | $textContentArray = array_filter($matches[1], function($item) { |
| 148 | return !empty(trim($item)); | 151 | return !empty(trim($item)); |
| 149 | }); | 152 | }); |
| 150 | - $data = []; | 153 | + $contentData = []; |
| 151 | foreach ($textContentArray as $v){ | 154 | foreach ($textContentArray as $v){ |
| 152 | $content = trim($v); | 155 | $content = trim($v); |
| 153 | $trimmedString = preg_replace('/\s+/', ' ', $content); | 156 | $trimmedString = preg_replace('/\s+/', ' ', $content); |
| 154 | - $data[] = $trimmedString; | 157 | + $contentData[] = $trimmedString; |
| 158 | + } | ||
| 159 | + $contentData = array_values($contentData); | ||
| 160 | + $pattern = '/<meta\s+[^>]*content=[\'"]([^\'"]+)[\'"]/i'; // 匹配 meta 标签的 content 属性的正则表达式 | ||
| 161 | + $matches1 = array(); | ||
| 162 | + preg_match_all($pattern, $strippedContent, $matches1); | ||
| 163 | + $metaData = array(); | ||
| 164 | + foreach ($matches1[1] as $content) { | ||
| 165 | + if (!empty($content)) { | ||
| 166 | + $metaData[] = $content; | ||
| 155 | } | 167 | } |
| 156 | - $data = array_values($data); | 168 | + } |
| 169 | + $data = array_merge($metaData, $contentData); | ||
| 157 | return $data; | 170 | return $data; |
| 158 | } | 171 | } |
| 159 | 172 | ||
| 160 | - /** | ||
| 161 | - * 翻译校对 dom | ||
| 162 | - */ | ||
| 163 | - public function proofreadPhpQuery($url) | ||
| 164 | - { | ||
| 165 | - $html = file_get_contents($url); | ||
| 166 | - $dom = \phpQuery::newDocument($html); | ||
| 167 | - $dom->find('.change-language')->remove(); | ||
| 168 | - $dom->find('script')->remove(); | ||
| 169 | - $dom->find('style')->remove(); | ||
| 170 | - $test = $dom->text(); | ||
| 171 | - file_put_contents($url, $test); | ||
| 172 | - $this->success($test); | ||
| 173 | - } | ||
| 174 | 173 | ||
| 175 | /** | 174 | /** |
| 176 | * @remark :获取Url内容 | 175 | * @remark :获取Url内容 |
| @@ -181,6 +181,7 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -181,6 +181,7 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 181 | Route::any('/', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'lists'])->name('translate_check_lists'); | 181 | Route::any('/', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'lists'])->name('translate_check_lists'); |
| 182 | Route::any('/imageList', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'imageList'])->name('translate_checkg_imageList'); | 182 | Route::any('/imageList', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'imageList'])->name('translate_checkg_imageList'); |
| 183 | Route::any('/save', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'save'])->name('translate_check_save'); | 183 | Route::any('/save', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'save'])->name('translate_check_save'); |
| 184 | + Route::any('/getUrl', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'getUrl'])->name('translate_check_getUrl'); | ||
| 184 | }); | 185 | }); |
| 185 | //seo设置 | 186 | //seo设置 |
| 186 | Route::prefix('seo')->group(function () { | 187 | Route::prefix('seo')->group(function () { |
-
请 注册 或 登录 后发表评论