writecrow / lorem_gutenberg
A PHP library for generating filler text from Project Gutenberg books
Requires (Dev)
- phpunit/phpunit: ~4
Suggests
- ext-mbstring: For best performance
- symfony/polyfill-mbstring: If you can't install ext-mbstring
This package is auto-updated.
Last update: 2024-11-10 11:53:44 UTC
README
A PHP library for generating random text, sourced from various authors in Project Gutenberg.
Usage in an application
The included /index.php
file contains a generation form demo.
Make your code aware of the LoremGutenberg class via your favorite method (e.g.,
use
or require
)
Then pass a string of text into the class:
$text = LoremGutenberg::generate(); echo $text; // Will return an excerpt of random length (1-10 sentences) from a random author. $text = LoremGutenberg::generate(array('author' => 'austen')); echo $text; // Will return an excerpt of random length (1-10 sentences) from Jane Austen. $text = LoremGutenberg::generate(array('author' => 'hardy', 'sentences' => 3)); echo $text; // Will return an excerpt of 3 sentences from Thomas Hardy.
Usage as an API
The file in /api
demonstrates how GET parameters in a URL can be passed to LoremGutenberg. For example, https://my-api.org/api/?author=hardy&sentences=2
will return 2 sentences' worth of LoremGutenberg from Thomas Hardy.
Parameters
Sameple valid API queries
/api/?author=hardy&sentences=2
/api/?author=hardy
/api/?sentences=2
/api/
What authors are available?
As of this writing, LoremGutenberg references texts from the following authors:
public static $authors = [ 'austen' => 'Jane Austen', 'hardy' => 'Thomas Hardy', 'lawrence' => 'D.H. Lawrence', 'wharton' => 'Edith Wharton', ];
Testing
Unit Tests can be run (after composer install
) by executing vendor/bin/phpunit