


Detailed explanation of how ThinkPHP uses Ueditor, thinkphpueditor_PHP tutorial
Detailed explanation of how ThinkPHP uses Ueditor, thinkphpueditor
This article explains how ThinkPHP uses Ueditor. Share it with everyone for your reference, the details are as follows:
I believe that many people are still using FCkeditor. I used to use it before, but after discovering Baidu’s Ueditor, I found that Ueditor is better looking than Fckeditor and its operability is much better than Fckeditor, so I still try to use ueditor. , but I still encountered some problems when using ueditor under the ThinkPHP framework, and it took some time to solve these problems. In this way, I will write a tutorial on using ueditor under ThinkPHP for those who need to use it.
1. Create a "Public" folder in the root directory of the website. This folder can be replaced with __PUBLIC__ in ThinkPHP, so it is convenient for us to write programs, and then put the ueditor file into this file Clamped.
2. Import the js and css used by ueditor in the template file where we need to use ueditor. For example, I add the following code to App/Tpl/default/Venter/createvent.html:
<script type="text/javascript" src="__PUBLIC__/ueditor/editor_config.js"></script> <script type="text/javascript" src="__PUBLIC__/ueditor/editor_all.js"></script> <link rel="stylesheet" href="__PUBLIC__/ueditor/themes/default/ueditor.css"/>
3. Configure the location of Ueditor relative to the root directory of the website. Here I recommend using an absolute path, that is, a path similar to http://localhost:1080, because ueditor will be used in many places during the development of website projects. , but due to the different locations used, the relative path between the current directory and the server root directory changes, which makes ueditor unusable. For example, the path I configured (configuration file: editor_config.js in the ueditor directory), change the following code Make a substitution:
URL= tmp.substr(0,tmp.lastIndexOf("\/")+1).replace("_examples/",""); //这里你可以配置成ueditor目录在您网站的相对路径或者绝对路径(指以http开头的绝对路径)Replace
with:
URL = "http://localhost:1080/Public/ueditor/";
4. The following is an application that uses forms:
<form action="__ROOT__/index.php/Venter/ventChk" method="post"> <script type="text/plain" id="Vent" style="width:500px;"></script> <input type="checkbox" name="opened" value="1"/>公开发表 <input type="submit" value="发泄" /> </form> <!--注册百度ueditor--> <script type="text/javascript"> var editor = new baidu.editor.ui.Editor({ toolbars:[['Spechars','Emotion','InsertImage','Bold','Italic','ForeColor','FontFamily','FontSize', ]],//自定义ueditor工具栏 initialContent: '<span style="color:#ccc">点击这里发泄吧</span>', minFrameHeight: 100,//初始化框架大小 autoFloatEnabled: false,//工具栏自动浮动-》关闭 textarea:'myVent'//form表单将通过该参数获得表单提交的数据 }); editor.render("Vent"); </script> <!--百度Ueditor注册完毕-->
As shown in the above code, the content of the Ueditor editing area can be obtained through $_POST['myVent'].
5. How to use it in Thinkphp? First, the obtained content must be submitted for escape. Here we use the following code:
$content = htmlspecialchars(stripslashes(POST['myVent']));
The next operation is to insert $content into the database (no more details here).
6. Extract data from the data and escape it so that the content can be displayed normally:
$vent = new VenterModel; $list = $vent->select(); $this->assign("list",$list)
In this way, the content can be displayed in the corresponding html template like this:
<volist name="list" id="vo"> {$vo.content|htmlspecialchars_decode} </volist>
A usage of thinkphp templates is used here, that is, functions can be used in templates. The function htmlspecialchars_decode is used here to escape $vo, content. The above code can be seen as follows:
htmlspecialchars_decode($vo.content), I spent a long time choosing this method here. I didn’t consider this method at the time. I just thought about it because the passed value accepted by the htmlspecialchars_decode function cannot be an array, so The data extracted from the database cannot be passed directly to him. Later, I thought that I could traverse the array to htmlspecialchars_decode each element in the array. Although the content can be escaped, it cannot be displayed in the template until the end. I came up with this after reading some official manuals. Therefore, when doing programs, you must read more official documents, and many problems can be solved.
PS: Here are several formatting/beautifying/conversion tools recommended on this site to help you sort out the messy code. I believe everyone can use it in future development:
php code online formatting and beautification tool:
http://tools.jb51.net/code/phpformat
JavaScript code beautification/compression/formatting/encryption tool:
http://tools.jb51.net/code/jscompress
Online XML formatting/compression tool:
http://tools.jb51.net/code/xmlformat
JSON code formatting and beautification tool:
http://tools.jb51.net/code/json
Online XML/JSON conversion tool:
http://tools.jb51.net/code/xmljson
JSON code online formatting/beautifying/compressing/editing/conversion tool:
http://tools.jb51.net/code/jsoncodeformat
SQL code online formatting and beautification tool:
http://tools.jb51.net/code/sqlcodeformat
Readers who are interested in more thinkPHP-related content can check out the special topics on this site: "Introduction to ThinkPHP Tutorial", "Summary of Common Methods of ThinkPHP", "Summary of Cookie Usage in PHP", "Basic Tutorial for Getting Started with Smarty Templates" and "PHP Template technology summary".
I hope this article will be helpful to everyone’s PHP programming based on the ThinkPHP framework.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

In PHP, use the clone keyword to create a copy of the object and customize the cloning behavior through the \_\_clone magic method. 1. Use the clone keyword to make a shallow copy, cloning the object's properties but not the object's properties. 2. The \_\_clone method can deeply copy nested objects to avoid shallow copying problems. 3. Pay attention to avoid circular references and performance problems in cloning, and optimize cloning operations to improve efficiency.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

Key players in HTTP cache headers include Cache-Control, ETag, and Last-Modified. 1.Cache-Control is used to control caching policies. Example: Cache-Control:max-age=3600,public. 2. ETag verifies resource changes through unique identifiers, example: ETag: "686897696a7c876b7e". 3.Last-Modified indicates the resource's last modification time, example: Last-Modified:Wed,21Oct201507:28:00GMT.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP is a server-side scripting language used for dynamic web development and server-side applications. 1.PHP is an interpreted language that does not require compilation and is suitable for rapid development. 2. PHP code is embedded in HTML, making it easy to develop web pages. 3. PHP processes server-side logic, generates HTML output, and supports user interaction and data processing. 4. PHP can interact with the database, process form submission, and execute server-side tasks.

PHP has shaped the network over the past few decades and will continue to play an important role in web development. 1) PHP originated in 1994 and has become the first choice for developers due to its ease of use and seamless integration with MySQL. 2) Its core functions include generating dynamic content and integrating with the database, allowing the website to be updated in real time and displayed in personalized manner. 3) The wide application and ecosystem of PHP have driven its long-term impact, but it also faces version updates and security challenges. 4) Performance improvements in recent years, such as the release of PHP7, enable it to compete with modern languages. 5) In the future, PHP needs to deal with new challenges such as containerization and microservices, but its flexibility and active community make it adaptable.

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 English version
Recommended: Win version, supports code prompts!

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Linux new version
SublimeText3 Linux latest version