ozh / bookmarkletgen
PHP class to convert JS into valid bookmarklet links
Installs: 21 076
Dependents: 1
Suggesters: 0
Security: 0
Stars: 13
Watchers: 2
Forks: 4
Open Issues: 0
pkg:composer/ozh/bookmarkletgen
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2025-11-07 17:23:19 UTC
README
Bookmarklet Gen
Convert (readable) Javascript code into bookmarklet links
Features
- removes comments
- compresses code by removing extraneous spaces, but not within literal strings.
Example:
function someName( param ) { alert( "this is a string" ) }
will return:function%20someName(param){alert("this%20is%20a%20string")}
- encodes what needs to be encoded
- wraps code into a self-invoking function ready for bookmarking
This is basically a slightly enhanced PHP port of the excellent Bookmarklet Crunchinator: http://ted.mielczarek.org/code/mozilla/bookmarklet.html
Installation
If you are using Composer, add this requirement to your composer.json file and run composer install:
{
"require": {
"ozh/bookmarkletgen": "~1.3"
}
}
Or simply in the command line : composer install ozh/bookmarkletgen
If you're not using composer, download the class file and include it manually.
Example
<?php $javascript = <<<CODE var link="https://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 );
will print:
<a href="javascript:(function()%7Bvar%20link%3D%22https%3A%2F%2Fgoogle.com%2F%22%3Bwindow.location%3Dlink%3B%7D)()%3B">bookmarklet</a>
See provided examples for more details.
Tests
This library comes with unit tests to make sure the resulting crunched Javascript is valid code.
The current version supports PHP 8.1+ (previous releases were tested with PHP 5.3 – 7.2).
License
Do whatever the hell you want to do with it.