workouse/link-preview-generator

链接预览生成器

dev-master 2024-05-22 00:22 UTC

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);