jansuchanek/nshortcode

Universal shortcode parser for Nette — [prefix:args] syntax with registered handlers, Latte filter, DI extension

Maintainers

Package info

github.com/JanSuchanek/nshortcode

pkg:composer/jansuchanek/nshortcode

Statistics

Installs: 2

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.0 2026-03-20 14:34 UTC

This package is auto-updated.

Last update: 2026-04-20 15:35:25 UTC


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