open-php/seditor
Composer 安装命令:
composer require open-php/seditor
包简介
SEditor - A lightweight, dynamic, and dependency-free WYSIWYG editor for PHP applications.
README 文档
README
SEditor is a lightweight, dependency-free WYSIWYG editor for PHP applications. It handles rich text editing, form synchronization, and asset management seamlessly.
Features
✅ Zero Dependencies — Built with pure Vanilla JS & CSS. No jQuery required.
✅ Laravel Integration — Includes ServiceProvider for auto-discovery and asset publishing.
✅ Core PHP Support — Simple command to publish assets in non-framework projects.
✅ Form Sync — Automatically updates hidden <textarea> for seamless form submission.
✅ Document Mode — Special A4 page interface for document-style editing.
✅ Page Breaks — Insert print-friendly page breaks.
✅ Rich Tools — Tables, Images, Links, Colors, and Typography controls.
Installation
Prerequisites
- PHP 5.6 or higher
- Composer
Method 1: Composer (Recommended)
-
Install the package:
composer require open-php/seditor
-
Publish Assets:
For Laravel:
php artisan vendor:publish --tag=seditor-assets
For Core PHP:
composer run publish-assets
-
Link Assets: Add just the script to your HTML (it will auto-load the CSS):
<script src="assets/seditor.js"></script>
Method 2: Manual Download
- Download this repository.
- Copy
assets/seditor.jsandassets/seditor.cssto your project. - Include the script in your HTML.
Quick Start
1. Create the Form
Use a standard textarea. SEditor will hide it and use it to store the final HTML.
<form method="POST" action="save.php"> <!-- The name attribute is what PHP allows you to $_POST['content'] --> <textarea id="my-editor" name="content"></textarea> <button type="submit">Save Content</button> </form>
2. Initialize SEditor
Add the script at the bottom of your page.
<script> // Initialize with default options const editor = SEditor.create('#my-editor'); // OR Initialize with custom placeholder /* const editor = SEditor.create('#my-editor', { placeholder: 'Start writing your story...', }); */ </script>
3. Edit Mode (Loading Content)
To load existing data (e.g., from a database), simply put it inside the textarea.
<textarea id="my-editor"> <p>This is existing content loaded from the database.</p> <b>SEditor will automatically pick it up!</b> </textarea>
4. Setting/Getting Content Programmatically
You can also control the content via JavaScript:
const editor = SEditor.create('#my-editor'); // Set Content editor.setValue('<p>Hello World!</p>'); // Get Content const content = editor.getValue(); console.log(content);
Configuration
You can pass an options object to SEditor.create().
| Option | Type | Default | Description |
|---|---|---|---|
placeholder |
String | '' |
Text to show when the editor is empty. |
mode |
String | 'classic' |
'classic' (fluid width) or 'document' (A4 page style). |
toolbar |
Array | null |
Custom array of toolbar groups. |
Custom Toolbar Example
SEditor.create('#my-editor', { mode: 'document', toolbar: [ { type: 'group', items: [{ icon: 'bold', cmd: 'bold' }, { icon: 'italic', cmd: 'italic' }] }, { type: 'group', items: [{ icon: 'image', action: () => alert('Custom Action') }] } ] });
Contributing
- Source: https://github.com/mrsandipmandal/seditor.git
- Author: Sandip Mandal (mr_sandip@zohomail.in)
License
MIT License
open-php/seditor 适用场景与选型建议
open-php/seditor 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 13 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「ui」 「bootstrap」 「components」 「wysiwyg」 「editor」 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 open-php/seditor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 open-php/seditor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 open-php/seditor 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Views for the package MedicOneSystems Livewire Datatables with Bootstrap 4
Web Font Loader gives you added control when using linked fonts via @font-face.
WYSIWYG editor for Yii2 based on Bootstrap 3
bootstrap select field module implementing http://silviomoreto.github.io/bootstrap-select/
Ariadne Component Library: xml writer and parser Component
Ariadne Component Library: Cache Component
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 31
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-05