ozh/bookmarkletgen

将JS转换为有效的书签链接的PHP类

1.2.2 2022-05-04 13:05 UTC

This package is auto-updated.

Last update: 2024-09-04 18:22:02 UTC


README

将(可读的)JavaScript代码转换为书签链接

需要PHP 7.2 - 8.1

特性

  • 移除注释
  • 通过移除多余空格压缩代码,但不在字符串字面量内。示例
    function   someName(   param   ) {
     alert( "this is a string" )
    }
    将返回
    function%20someName(param){alert("this%20is%20a%20string")}
  • 编码需要编码的内容
  • 将代码包装成自调用的函数,以便书签使用

这基本上是对优秀的Bookmarklet Crunchinator的PHP端口进行了一点增强:http://ted.mielczarek.org/code/mozilla/bookmarklet.html

安装

如果你使用Composer,将此要求添加到你的composer.json文件中并运行composer install

    {
        "require": {
            "ozh/bookmarkletgen": "1.2.0"
        }
    }

或者直接在命令行中: composer install ozh/bookmarkletgen

如果你不使用Composer,请下载类文件并手动包含它。

示例

<?php
$javascript = <<<CODE
var link="http://google.com/"; // destination
window.location = link;
CODE;

require 'vendor/autoload.php'; // if you install using Composer
require 'path/to/Bookmarkletgen.php'; // otherwise

$book = new \Ozh\Bookmarkletgen\Bookmarkletgen;
$link = $book->crunch( $javascript );

printf( '<a href="%s">bookmarklet</a>', $link );

将打印

<a href="javascript:(function()%7Bvar%20link%3D%22http%3A%2F%2Fgoogle.com%2F%22%3Bwindow.location%3Dlink%3B%7D)()%3B">bookmarklet</a>

测试

此库包含单元测试,以确保在各种PHP版本下生成的压缩JavaScript代码是有效的。

当前版本支持PHP 7.2+(之前的版本1.2.1已与PHP 5.3 - 7.1进行测试)

许可

你可以用它做任何你想做的事情