public function actionChangetemplate() { $status=true; $interactive_id= (int)filter_input(INPUT_POST,'id');//post[id] $template_id= (int) filter_input(INPUT_POST, 'mb'); //找到頁$interactives = Interactives::model ()->findByPk ( $interactive_id );//擷取模板$interactiveTemplate = InteractiveTemplate::model ()->findByPk ( $template_id );//修改模板$interactives->template_id =$template_id; $interactives->save();// 根據使用者選擇的模板來設定不同的內容$template_info = $interactiveTemplate->template_content;$interactiveContent = new InteractiveContent ();$interactivePic = new InteractivePic(); //新增內容,以下根據content進行Regex匹配,產生相對應的contentif (preg_match_all ( '/preview_t_[0-9]+/', $template_info, $arr )) {//刪除$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(":ID"=>$interactive_id) );foreach ($arr[0] as $key=>$value){$content = new InteractiveContent ();$content->interactive_id =$interactive_id;$content->color = "rgba(0,0,0,0.1)";$content->content = '\n\t文本輸入框<\/strong><\/span>\n<\/p>\n
\n\t您可以進行文本輸入、複製、黏貼;調整字型大小、顏色、對齊、行間距;也可以對文字框本身設定相應的背景顏色以及透明度。<\/span>\n<\/p>';$content->c_time = date ( "y-m-d H:i:s" );$ret=$content->save (); if($ret>0)//如果正確,則結果為true $status=$status&true; else $status=$status&false;}}//添加圖片if (preg_match_all ( '/preview_p_[0-9]+/', $template_info, $arr )) { //刪除$res = InteractivePic::model ()->deleteAll ("interactive_id=:ID",array(":ID"=>$_POST ['id']) );for($i = 1; $i <= count ( $arr[0] ); $i ++) {$interactivePic = new InteractivePic();$interactivePic->interactive_id = $_POST ['id'];$interactivePic->pic_scale = 2.2;$interactivePic->pic_src = "/images/editinteractive/pcover_000.jpg";$interactivePic->pic_width = 30;$interactivePic->pic_height =30;$interactivePic->pic_x = 0;$interactivePic->pic_y =0;$interactivePic->tag = $i;$interactivePic->c_time = date ( "y-m-d H:i:s" );$ret=$interactivePic->save(); if($ret>0)//如果正確,則結果為true $status=$status&true; else $status=$status&false;}}if (preg_match_all ( '/preview_s1_1_p[0-9]+/', $template_info, $arr )) {//刪除$res = InteractivePic::model ()->deleteAll ("interactive_id=:ID",array(":ID"=>$_POST ['id']) );for($i = 1; $i <= count ( $arr[0] ); $i ++) {$interactivePic = new InteractivePic();$interactivePic->interactive_id = $_POST ['id'];$interactivePic->pic_scale = 2.2;$interactivePic->pic_src = "/images/editinteractive/pcover_000.jpg";$interactivePic->pic_width = 33;$interactivePic->pic_height =44;$interactivePic->pic_x = 33;$interactivePic->pic_y =44;$interactivePic->tag = 33;$interactivePic->c_time = date ( "y-m-d H:i:s" );$ret=$interactivePic->save(); if($ret>0)//如果正確,則結果為true $status=$status&true; else $status=$status&false;}}if (preg_match_all ( '/preview_s1_1_t[0-9]+/', $template_info, $arr )) {//刪除$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(":ID"=>$_POST ['id']) );foreach ($arr[0] as $key=>$value){$content = new InteractiveContent ();$content->interactive_id = $_POST ['id'];$content->color = "rgba(0,0,0,0.1)";$content->content = '
\n\t文本輸入框<\/strong><\/span>\n<\/p>\n
\n\t您可以進行文本輸入、複製、黏貼;調整字型大小、顏色、對齊、行間距;也可以對文字框本身設定相應的背景顏色以及透明度。<\/span>\n<\/p>';$content->c_time = date ( "y-m-d H:i:s" );$ret=$content->save (); if($ret>0)//如果正確,則結果為true $status=$status&true; else $status=$status&false;}}if (preg_match_all ( '/preview_s1_1_t_[0-9]+/', $template_info, $arr )) {//刪除$res = InteractiveContent::model ()->deleteAll ("interactive_id=:ID",array(":ID"=>$_POST ['id']) );foreach ($arr[0] as $key=>$value){$content = new InteractiveContent ();$content->interactive_id = $_POST ['id'];$content->color = "rgba(0,0,0,0.1)";$content->content = '
\n\t文本輸入框<\/strong><\/span>\n<\/p>\n
\n\t您可以進行文本輸入、複製、黏貼;調整字型大小、顏色、對齊、行間距;也可以對文字框本身設定相應的背景顏色以及透明度。<\/span>\n<\/p>';$content->c_time = date ( "y-m-d H:i:s" );$ret=$content->save (); if($ret>0)//如果正確,則結果為true $status=$status&true; else $status=$status&false;}}if ($status) {echo json_encode ( array (//success'status' => 'success' ) );} else {echo json_encode ( array ('status' => 'fail' ) );}}
以上就介紹了擷取模板函數,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。