the-3labs-team/laravel-keyword-linker

A Laravel package to link keywords in your content

v1.0.0 2024-10-02 08:41 UTC

README

Latest Version on Packagist GitHub Tests Action Status Github PHPStan GitHub Code Style Action Status Maintainability Test Coverage License Mit Total Downloads

This is a package that converts keywords into links.

Installation

You can install the package via composer:

composer install the-3labs-team/keyword-linker

You can publish the config file with:

 php artisan vendor:publish --tag=keyword-linker-config    

This is the contents of the published config file:

return [
    'limit-auto-keywords' => 5, // limit auto keywords to be linked
    'whitelist' => [
        'p',
        'blockquote',
    ],
];

Usage

use The3LabsTeam\KeywordLinker\Facades\KeywordLinker;

$content = "This is a test content";

$keywords = [
    'test' => 'https://example.com/test',
    // Usage: 'keyword' => 'link'
];

echo KeywordLinker::parse($content, $keywords);

# output: This is a <a href="http://example.com/test">test</a> content

Common usage

Use rel attribute to add nofollow to the link

$keywords = [
    'test' => [
        'link' => 'https://example.com/test',
        'rel' => 'nofollow'
    ],
    // Usage: 'keyword' => ['link' => 'link', 'rel' => 'nofollow']
];

Use target attribute to open the link in a new tab

$keywords = [
    'test' => [
        'link' => 'https://example.com/test',
        'target' => '_blank'
    ],
    // Usage: 'keyword' => ['link' => 'link', 'target' => '_blank']
];

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.