jaybizzle / shortcodes
BBCode/Wordpress style shortcodes
Installs: 45 072
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 3
Open Issues: 1
Requires (Dev)
- phpunit/phpunit: ^4.8|^5.5|^6.5
- satooshi/php-coveralls: 1.*
This package is auto-updated.
Last update: 2024-10-16 19:16:39 UTC
README
Shortcodes
Shortcodes is a PHP library that will help parse WordPress/BBCode style shortcodes. It can turn something like this...
[style color=#FF0000]Red Text[/style]
into this...
<span style="color:#FF0000;">Red Text</span>
The output is not predefined, it is up to you to define how the output is handled. See below for examples.
Installation
composer require jaybizzle/shortcodes
Getting started *** (WIP) ***
Let's take a simple example. We want to create a Shortcode for video
elements. We want to be able to write something like this...
[video title="My Awesome Video" videoID=345 width=320 height=240]
and make it output something like this...
<video width="320" height="240" controls> <source src="/videos/video-345.mp4" type="video/mp4"> <source src="/videos/video-345.ogg" type="video/ogg"> Your browser does not support the video tag. </video>
Firstly, we need to create a class that is going to handle the parsed Shortcode and its attributes. We create a new class as follows...
<?php namespace App\Shortcodes; use Jaybizzle\Shortcodes\Shortcode; class VideoShortcode extends Shortcode { public static $shortcode = 'video'; public function parse() { // All shortcode attributes will be available in $this->attr // i.e. given the example above... // $this->attr['title'] // $this->attr['videoID'] // $this->attr['width'] // $this->attr['height'] } }
Next, we need to add this Shortcode parse class to the Shortcodes library like this...
<?php namespace App\Libraries; use App\Shortcodes\VideoShortcode; use Jaybizzle\Shortcodes\Shortcodes; class MyClass { public function index() { $shortcodes = new Shortcodes $shortcodes->add(VideoClass::class); } }