workouse / link-preview-generator
链接预览生成器
dev-master
2024-05-22 00:22 UTC
Requires
- ext-dom: *
- symfony/http-client: ^3.4|^4.3
- symfony/templating: ^3.4|^4.3
Requires (Dev)
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-09-22 01:07:33 UTC
README
这是一个简单的库,可以从HTML内容生成链接预览。它会找到HTML内容中的所有链接,并为带有类名generated-previews
的每个链接生成预览。它将替换锚标签为preview.php文件的内容。您可以自定义preview.php文件来更改预览设计。
该项目由workouse的实习生(@bykclk)构建,不适用于生产环境。
特性
- 从HTML内容生成链接预览
- 自定义预览设计
- 易于使用
安装
composer require workouse/link-preview-generator
用法
默认用法
<?php require __DIR__ . '/vendor/autoload.php'; use Workouse\LinkPreviewGenerator\LinkPreviewGenerator; $p_generator = LinkPreviewGenerator::create(); $html = <<<'HTML' <!DOCTYPE html> <html> <body> <h1>Hello World</h1> <a href="https://github.com/workouse/link-preview-generator" class="generated-previews">link-preview-generator</a> </body> </html> HTML; echo $p_generator->generatePreview($html);
自定义预览设计
- 在项目根目录中创建您的preview.php文件
<div style="border: 1px solid blue"> <img height="100" width="100" src="<?= $tag['og_image'] ? $tag['og_image'] : $tag['image'] ?>"/> <h1><?= $tag['og_title'] ? $tag['og_title'] : $tag['title'] ?></h1> <p><?= $tag['og_description'] ? $tag['og_description'] : $tag['description'] ?></p> <a href="<?= $tag['og_url'] ?>">Visit page</a> </div>
-
$tag
变量将包含以下键的模板文件传递标题
描述
图片
URL
og_title
og_description
og_image
og_url
-
使用
generatePreview
方法,第二个参数为您的preview.php文件路径
<?php //you can use your template engine, i will use PhpEngine in here $filesystemLoader = new FilesystemLoader(__DIR__ . '/templates/%name%'); $templating = new PhpEngine(new TemplateNameParser(), $filesystemLoader); $p_generator = LinkPreviewGenerator::create($templating,'new_preview.php');//it will be placed inside templates folder $html = ... echo $p_generator->generatePreview($html);