jansuchanek / nshortcode
Universal shortcode parser for Nette — [prefix:args] syntax with registered handlers, Latte filter, DI extension
v1.1.0
2026-03-20 14:34 UTC
Requires
- php: >=8.2
- latte/latte: ^3.0
- nette/di: ^3.2
README
WordPress-style shortcode parser for Nette Framework — [prefix:args] syntax in content.
Features
- ⌨️ Shortcode Syntax —
[gallery:id=5],[youtube:dQw4w9WgXcQ] - 🔌 Custom Handlers — Register handlers for each shortcode prefix
- 📝 Content Filter — Process shortcodes in any text/HTML content
- ⚙️ DI Extension — Auto-discovers shortcode handlers
Installation
composer require jansuchanek/nshortcode
Configuration
extensions: shortcode: NShortcode\DI\NShortcodeExtension
Usage
Register a handler:
use NShortcode\ShortcodeHandlerInterface; class YoutubeShortcode implements ShortcodeHandlerInterface { public function getPrefix(): string { return 'youtube'; } public function handle(string $args): string { return '<iframe src="https://youtube.com/embed/' . $args . '"></iframe>'; } }
Process content:
$html = $shortcodeProcessor->process($page->getContent()); // [youtube:dQw4w9WgXcQ] → <iframe src="https://youtube.com/embed/dQw4w9WgXcQ"></iframe>
Requirements
- PHP >= 8.2
- Nette DI ^3.2
License
MIT