Download the PHP package software-technologies-limited/stl-rich-text-editor without Composer
On this page you can find all versions of the php package software-technologies-limited/stl-rich-text-editor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download software-technologies-limited/stl-rich-text-editor
More information about software-technologies-limited/stl-rich-text-editor
Files in software-technologies-limited/stl-rich-text-editor
Package stl-rich-text-editor
Short Description A standalone, framework-agnostic rich text editor for PHP applications.
License BSD-3-Clause
Homepage https://github.com/software-technologies-limited/stl-rich-text-editor
Informations about the package stl-rich-text-editor
STL Rich Text Editor
STL Rich Text Editor is a standalone rich-text editor for PHP applications. It contains its own PHP renderer, vanilla JavaScript editor, styles, toolbar, sanitizer, history, and upload hooks. It does not require CKEditor, KCFinder, jQuery, npm, Laravel, Yii, Symfony, or any other runtime package.
This project continues the Git history of 2amigos/yii2-ckeditor-widget, but
version 3 is an independent implementation. It is not CKEditor and is not
affiliated with or endorsed by CKSource or the original maintainers.
Requirements
- PHP 8.1 through 8.5
- A modern browser
Installation
Copy vendor/software-technologies-limited/stl-rich-text-editor/src/assets into
public/vendor/stl-rich-text-editor, or in Laravel run
php artisan vendor:publish --tag=stl-rich-text-editor-assets.
Raw PHP
The editor synchronizes sanitized HTML into its named <textarea>, so ordinary
form submission works without special server integration.
Presets
basic: undo, redo, bold, italic, links, and clear formattingstandard: headings, formatting, lists, quotes, links, source, and fullscreenfull: standard tools plus code blocks, alignment, images, and tablescustom: only tools supplied through thetoolbaroption
Image uploads
Set an upload endpoint to replace the image URL prompt with a file picker:
The endpoint must accept multipart/form-data and return {"url":"/path/image.webp"}.
Authentication, authorization, MIME inspection, size limits, safe filenames,
storage, and generated URLs remain the application's responsibility.
Themes, localization, events, and extensions
Pass theme, labels, and sanitizer through the editor options. Themes use
shared --stl-control-* CSS tokens. The editor emits stl:rte-ready and
stl:rte-change DOM events. Register first-party application commands before
initialization:
Include highlight in a custom toolbar. Sanitizer allowlists accept tags,
globalAttributes, and per-tag attributes options.
Laravel
Construct the objects in a controller, component, or view model and render them as intentional component HTML in Blade:
Read the submitted HTML through the ordinary request API.
Yii
The framework-neutral renderer works directly in a Yii view:
Load Assets once in the layout or view. Yii is not installed or required.
Security
The browser sanitizer removes scripts, event handlers, inline styles, unsafe URLs, and unsupported elements before form synchronization. Client-side sanitization is not a security boundary. Applications must sanitize submitted HTML again on the server using rules appropriate to their threat model.
Upload endpoints must enforce authentication, authorization, MIME inspection, file-size limits, safe filenames, and non-executable storage.
Development checks
GitHub Actions runs these checks on PHP 8.1 through 8.5.
Credits
- Antonio Ramirez, 2amigOS! Consulting Group, and contributors to the original Yii CKEditor widget
- Software Technologies Limited, developer and maintainer of the independent standalone editor introduced in version 3
License
BSD-3-Clause. See LICENSE.md. Original notices are retained.