thinkphp3.2 embedded Baidu editor ueditor method example

小云云
Release: 2023-03-19 22:58:01
Original
1310 people have browsed it

This article mainly introduces the example code of thinkphp3.2 embedded in Baidu editor ueditor. It has certain reference value. Those who are interested can learn about it. I hope it can help everyone.

This article introduces thinkphp3.2 to embed Baidu editor ueditor, share it with everyone, I hope this article will be helpful to you

Due to typesetting requirements, many times we need Embed a rich text editor and output text content with html tags. Because I recently worked on a backend management system that requires editing the text content so that it can output text with html tags and save it to the server. The client sends a request to get the tagged text from the server. I use ueditor,

put it in the Public directory.

2. When we use the rich text editor on the view, we usually add textarea to the form,


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

3. Add the initial value of the script configuration text box at the end of the html, where PUBLIC is the path I configured in config


<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>
Copy after login

4. Usually we When adding a button to the form, all the data in the form will be submitted by default. However, my project also involves image uploading. I use ajax asynchronous submission here. So the question is, can we pass it? The value of ("#intro_detail").val() in jq gets the value to be submitted. The answer is no. My solution is to add a hidden input under the textarea. We use the method provided by ueditor. Get the value inside and assign it to the input, and let it be submitted along with the form. In the controller, you can pass _POST('name of the form'), as follows:


 <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" >
Copy after login

ajax submission,

Copy code The code is as follows:

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

Use single quotes to put the labeled input in the text box together, save it in the input and send it over at the same time. As for why you use single quotes, otherwise If it cannot be sent, the tags will be automatically filtered out. We just need to remove the single quotes when getting the data.


$.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("参数错误");
            }
          }
        });
Copy after login

5. In the controller, you can use $_POST('name of the form') to get the data and write it into the database


$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);
Copy after login

6. When we get the data to the view, we can just remove the single quotes


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;);
Copy after login

$result is what I found using the sql statement Database content, and intro_detail is the text content with labels and single quotes stored in the database


$user = M(&#39;game&#39;);
    $result = $user->field();
Copy after login

7. In fact, it is not difficult. I am also providing you with ideas. You can add more Discussion, I am also a novice.

Related recommendations:

How to embed tp3 into Baidu editor ueditor?

The above is the detailed content of thinkphp3.2 embedded Baidu editor ueditor method example. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template