madeitbelgium / spintax
基于单一文本生成多个文章。
1.4.0
2022-07-19 11:29 UTC
Requires
- php: >=5.6
- illuminate/support: *
Requires (Dev)
- php-coveralls/php-coveralls: ~2.1
- phpunit/phpunit: 7.*|6.*|8.*|9.*
README
使用此(Laravel)包,您可以基于单个文本创建多个文章。这是https://github.com/chilloutdevelopment/ChillDevSpintax的分支和扩展版本
安装
在您的 composer.json
中要求此包并更新 composer。
"madeitbelgium/spintax": "~1.0"
文档
用法
获取随机spin
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; Spintax::parse('Your {text|content} here.')->generate();
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; $spintax = Spintax::parse('Schrödinger’s Cat is {dead|alive}.'); $string = $spintax->generate();
获取所有可能的spin
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; Spintax::parse('Your {text|content} here.')->getAll();
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; $spintax = Spintax::parse('Schrödinger’s Cat is {dead|alive}.'); $strings = $spintax->getAll();
其他示例
但是,在我们的库中还有更多功能。首先,支持嵌套结构
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; $spintax = Spintax::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); $string = $spintax->generate();
还没有结束!使用我们出色的库,您可以检测生成给定变体所使用的路径,并在以后重新使用它
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; $path = []; $spintax = Spintax::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); // since $path is empty, random values will be used for missing indices and $path will be filled with them $string = $spintax->generate($path); // from now you can use $path to re-create the same combination // all these calls will keep returning same string value $spintax->generate($path); $spintax->generate($path); $spintax->generate($path); $spintax->generate($path); // this will force generating "I love Java." $path = [0, 1]; $spintax->generate($path);
路径从0开始计数,每个条目是下一步。
您还可以使用部分路径来定义仅起始路径,所有缺失的部分将随机选择
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; $path = [0]; $spintax = Spintax::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); // this will generate one of "I love {}." variants $string = $spintax->generate($path);
为此,有一个快捷方法 Parser::replicate()
(您可以使用逗号分隔的数字作为单个字符串的第二个参数在此快捷方法中)
use MadeITBelgium\Spintax\SpintaxFacade as Spintax; echo Spintax::replicate('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.', '0,0');
完整的文档可以在以下位置找到:http://www.madeit.be/
支持
支持github或邮件:tjebbe.lievens@madeit.be
贡献
请尽量遵循psr-2编码风格指南。http://www.php-fig.org/psr/psr-2/
许可证
此包根据LGPL许可。您可以在个人和商业项目中免费使用它。代码可以分支和修改,但应始终包含原始版权作者!