作者 lyh

gx

@@ -640,6 +640,21 @@ function characterTruncation($string,$pattern){ @@ -640,6 +640,21 @@ function characterTruncation($string,$pattern){
640 return ''; 640 return '';
641 } 641 }
642 } 642 }
  643 +
  644 +/**
  645 + * @remark :字符串截取
  646 + * @name :characterTruncationStr
  647 + * @author :lyh
  648 + * @method :post
  649 + * @time :2024/5/14 16:24
  650 + */
  651 +function characterTruncationStr($string,$startStr,$endStr){
  652 + $start = strpos($string, $startStr);
  653 + $end = strpos($string, $endStr) + strlen($endStr);
  654 + return substr($string, $start, $end - $start);
  655 +}
  656 +
  657 +
643 if (!function_exists('getAutoLoginCode')) { 658 if (!function_exists('getAutoLoginCode')) {
644 /** 659 /**
645 * @remark :自动登录加密 660 * @remark :自动登录加密
@@ -599,6 +599,9 @@ class BTemplateLogic extends BaseLogic @@ -599,6 +599,9 @@ class BTemplateLogic extends BaseLogic
599 public function handleTemplateHtml($html){ 599 public function handleTemplateHtml($html){
600 //字符串截取 600 //字符串截取
601 $param['main_html'] = characterTruncation($html,'/<main\b[^>]*>(.*?)<\/main>/s'); 601 $param['main_html'] = characterTruncation($html,'/<main\b[^>]*>(.*?)<\/main>/s');
  602 + if(empty($param['main_html'])){
  603 + $param['main_html'] = characterTruncationStr($html,"<main","</main>");
  604 + }
602 $param['main_css'] = characterTruncation($html,'/<style id="globalsojs-styles">(.*?)<\/style>/s'); 605 $param['main_css'] = characterTruncation($html,'/<style id="globalsojs-styles">(.*?)<\/style>/s');
603 return $this->success($param); 606 return $this->success($param);
604 } 607 }
@@ -646,6 +649,10 @@ class BTemplateLogic extends BaseLogic @@ -646,6 +649,10 @@ class BTemplateLogic extends BaseLogic
646 if($is_custom != BTemplate::IS_NO_CUSTOM){ 649 if($is_custom != BTemplate::IS_NO_CUSTOM){
647 return true; 650 return true;
648 } 651 }
  652 + $main_html = characterTruncation($html,'/<main\b[^>]*>(.*?)<\/main>/s');
  653 + if(!empty($main_html)){
  654 + $main_html = characterTruncationStr($html,"<main","</main>");
  655 + }
649 $data = [ 656 $data = [
650 'template_id'=>$template_id, 657 'template_id'=>$template_id,
651 'project_id'=>$this->user['project_id'], 658 'project_id'=>$this->user['project_id'],
@@ -656,7 +663,7 @@ class BTemplateLogic extends BaseLogic @@ -656,7 +663,7 @@ class BTemplateLogic extends BaseLogic
656 'is_list'=>$is_list, 663 'is_list'=>$is_list,
657 'source'=>$source, 664 'source'=>$source,
658 'source_id'=>$source_id, 665 'source_id'=>$source_id,
659 - 'main_html' => characterTruncation($html,'/<main\b[^>]*>(.*?)<\/main>/s'), 666 + 'main_html' => $main_html,
660 'main_css' => characterTruncation($html,'/<style id="globalsojs-styles">(.*?)<\/style>/s'), 667 'main_css' => characterTruncation($html,'/<style id="globalsojs-styles">(.*?)<\/style>/s'),
661 'head_html' => characterTruncation($html,'/<header\b[^>]*>(.*?)<\/header>/s'), 668 'head_html' => characterTruncation($html,'/<header\b[^>]*>(.*?)<\/header>/s'),
662 'footer_html' => characterTruncation($html,'/<footer\b[^>]*>(.*?)<\/footer>/s'), 669 'footer_html' => characterTruncation($html,'/<footer\b[^>]*>(.*?)<\/footer>/s'),
@@ -747,7 +754,7 @@ class BTemplateLogic extends BaseLogic @@ -747,7 +754,7 @@ class BTemplateLogic extends BaseLogic
747 public function handleSaveParam($param){ 754 public function handleSaveParam($param){
748 //字符串截取 755 //字符串截取
749 $param['head_html'] = characterTruncation($param['html'],'/<header\b[^>]*>(.*?)<\/header>/s'); 756 $param['head_html'] = characterTruncation($param['html'],'/<header\b[^>]*>(.*?)<\/header>/s');
750 - $param['main_html'] = characterTruncation($param['html'],'/<main\b[^>]*>(.*?)<\/main>/s'); 757 + $param['main_html'] = characterTruncationStr($param['html'],"<main","</main>");
751 $param['footer_html'] = characterTruncation($param['html'],'/<footer\b[^>]*>(.*?)<\/footer>/s'); 758 $param['footer_html'] = characterTruncation($param['html'],'/<footer\b[^>]*>(.*?)<\/footer>/s');
752 $param['head_css'] = characterTruncation($param['html'],'/<style id="globalsojs-header">(.*?)<\/style>/s'); 759 $param['head_css'] = characterTruncation($param['html'],'/<style id="globalsojs-header">(.*?)<\/style>/s');
753 $param['main_css'] = characterTruncation($param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s'); 760 $param['main_css'] = characterTruncation($param['html'],'/<style id="globalsojs-styles">(.*?)<\/style>/s');