dnabeast/tusk

创建一个插件文件,用于将字符串中的文本替换为任何PHP或HTML代码

1.0.3 2022-05-26 02:28 UTC

This package is not auto-updated.

Last update: 2024-09-26 13:15:06 UTC


README

问题

您的用户需要使用CMS功能将一段代码注入到基本字符串中。您希望他们能够设置Google地图或数据库中的文本,但又不希望他们能够运行代码。

解决方案

设置他们的代码,并允许他们在文本字符串中引用它。

安装

将依赖项添加到您的项目中

composer require DNABeast/tusk

Laravel 5.2

更新composer后,将ServiceProvider添加到config/app.php中的providers数组中

DNABeast\Tusk\TuskServiceProvider::class,

将Plugin/lib目录添加到您的App目录中,以包含插件文件。

您可能需要清除视图缓存

php artisan view:clear

使用方法

在blade文件中,将您的字符串放在tusk指令内。

@tusk('Your string [[- map -]]. Rest of String')

这将创建一个名为App\Plugins的map.php文件。如果该文件已存在,则不会发生任何操作。

如果您的map.php文件如下所示

<?php echo '<iframe>Map</iframe>'; ?>

blade文件将替换 [[- map -]] 并输出

Your string <iframe>Map</iframe>. Rest of String

用例

  1. 您的用户可以更新他们的联系页面,并使用基本文本,但您不希望允许iframe。您仍然可以允许他们输入 [[- googlemap -]] 以注入嵌入地图所需的Google地图HTML代码。

  2. 您有可以从数据库中生成链接列表的代码。您还有允许用户更新内容的网站基本页面,他们可以通过简单地输入 [[- linklist -]] 来包括列表代码,而无需访问实际代码。

潜在陷阱

您的插件文件可以是纯HTML,但如果它包含PHP,则需要echo结果。如果您返回它,则不会显示。例如。

<?php
	$x = 34+65;
	return $x; // <- This wont work. You must echo it.
?>