Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse zur Einbettung von thinkphp3.2 in den Baidu-Editor ueditor

Analyse zur Einbettung von thinkphp3.2 in den Baidu-Editor ueditor

不言
不言Original
2018-06-08 14:04:341806Durchsuche

In diesem Artikel wird hauptsächlich der Beispielcode für die Einbettung des Baidu-Editors in thinkphp3.2 vorgestellt, der einen bestimmten Referenzwert hat. Interessierte können sich darüber informieren.

In diesem Artikel wird der in den Baidu-Editor ueditor eingebettete Thinkphp3.2 vorgestellt. Teilen Sie es mit allen, ich hoffe, dieser Artikel wird Ihnen hilfreich sein

Aufgrund der Satzanforderungen müssen wir oft einen Rich-Text-Editor einbetten und Textinhalte mit HTML-Tags ausgeben. Weil ich kürzlich an einem Backend-Managementsystem gearbeitet habe, das die Bearbeitung des Textinhalts erfordert, damit es Text mit HTML-Tags ausgeben und auf dem Server speichern kann. Der Client sendet eine Anfrage, um den getaggten Text vom Server abzurufen. Ich verwende ueditor,

1. Zuerst laden wir die PHP-Version utf herunter.

Legen Sie es in das öffentliche Verzeichnis.

2. Wenn wir den Rich-Text-Editor in der Ansicht verwenden, fügen wir normalerweise einen Textbereich zum Formular hinzu,

<form>  
<p><textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </p>
</form>

3 Ende des HTML-Codes, um den Anfangswert des Textfelds zu konfigurieren, wobei PUBLIC der Pfad ist, den ich in der Konfiguration konfiguriert habe

<script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.all.min.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" src="__PUBLIC__/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
  UE.getEditor(&#39;intro_detail&#39;,{  //intro_detail为要编辑的textarea的id
    initialFrameWidth: 418,  //初始化宽度
    initialFrameHeight: 500,  //初始化高度
  });

</script>

4 Wenn wir dem Formular normalerweise eine Schaltfläche hinzufügen, werden alle Daten im Formular übermittelt Standardmäßig, aber mein Projekt beinhaltet auch das Hochladen von Bildern. Die Frage ist also, ob wir den erforderlichen Wert über den Wert von „#intro_detail“ in jq erhalten können Wert, die Antwort ist nein. Wir verwenden die von ueditor bereitgestellte Methode, um den Wert darin abzurufen, damit er zusammen mit dem Formular übermittelt werden kann Dem Controller können Sie _POST('Name des Formulars') wie folgt übergeben:

 <p >  
<textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea>
</p>
 <input type="text" style="display: none" id="intro_detail1" name="intro_detail1" >

Ajax-Übermittlung,

$("#intro_detail1").val("&#39;"+UE.getEditor(&#39;intro_detail&#39;).getContent()+"&#39;");

fügen Sie die beschriftete Eingabe zusammen mit einfachen Anführungszeichen in das Textfeld ein und Speichern Senden Sie es zusammen an die Eingabe. Andernfalls werden einfache Anführungszeichen nicht gesendet und die Tags werden automatisch herausgefiltert. Wir können die einfachen Anführungszeichen einfach verarbeiten, wenn die Daten ausgegeben werden.

$.ajax({
          type: "POST",
          url: "<{:U(&#39;Admin/GameManager/Game/modGame&#39;)}>",
          dataType: &#39;json&#39;,
          processData: false,
          contentType: false,
          cache: false,
          data: formData,
          success:function(r){
            if(r.success){
              alert(&#39;编辑成功&#39;);
              window.location.reload();//重新刷新一次
              $(&#39;#user_dialog&#39;).modal(&#39;hide&#39;);
            }
            else{
              alert("参数错误");
            }
          }
        });

5. Im Controller können Sie $_POST('Name des Formulars') verwenden, um die Daten abzurufen und in die Datenbank zu schreiben

$db = M(&#39;game&#39;);
    $data  = $db->create(I(&#39;post.&#39;));
    $data[&#39;intro_detail&#39;] = $_POST[&#39;intro_detail1&#39;];
    $db->add($data);

6 Zur Ansicht entfernen Sie einfach die einfachen Anführungszeichen

foreach($result as $key =>$value){    
      $result[$key][&#39;intro_detail&#39;]=str_replace("&#39;","",$result[$key][&#39;intro_detail&#39;]);//过滤单引号
    }
    $this->assign(&#39;game_list&#39;, $result);
    $this->display(&#39;&#39;);

$result ist der Datenbankinhalt, den ich mit der SQL-Anweisung gefunden habe, und intro_detail ist der Textinhalt mit Beschriftungen und einfachen Anführungszeichen, der in der Datenbank

$user = M(&#39;game&#39;);
    $result = $user->field();
7. Tatsächlich ist es nicht schwierig, Ihnen ein paar Ideen zu geben, und Sie können darüber auch mehr diskutieren.


Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Analyse zum Callback-Problem des ThinkPHP-Frameworks beim Andocken an die Instant-Payment-Schnittstelle von Alipay

Basierend auf Thinkphp und jquery Realisieren Sie die Funktion der Ajax-Mehrfachauswahl, der umgekehrten Auswahl und des Löschens von Daten

Das obige ist der detaillierte Inhalt vonAnalyse zur Einbettung von thinkphp3.2 in den Baidu-Editor ueditor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn