j0an/urlify

jbroadway的URLify.js PHP版本移植到Laravel4。用于将非ASCII字符转换为URL。

dev-master 2017-04-06 19:35 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:21:15 UTC


README

Django项目的URLify.js的PHP端口。处理拉丁语系、捷克语、希腊语、拉脱维亚语、立陶宛语、波兰语、罗马尼亚语、俄语、土耳其语和乌克兰语的符号。无法转写的符号将被简单地省略。

安装

  • 在composer.json中添加 "require": { "j0an/urlify": "dev-master" }

  • 运行 composer update

  • 在 Providers 底部添加到 app/config

'j0an\Urlify\UrlifyServiceProvider'

用法

生成URL的slugs

<?php

echo j0an\Urlify::filter (' J\'étudie le français ');
// "jetudie-le-francais"

echo j0an\Urlify::filter ('Lo siento, no hablo español.');
// "lo-siento-no-hablo-espanol"

?>

简单地转写字符

<?php

echo j0an\Urlify::downcode ('J\'étudie le français');
// "J'etudie le francais"

echo j0an\Urlify::downcode ('Lo siento, no hablo español.');
// "Lo siento, no hablo espanol."

/* Or use transliterate() alias: */

echo j0an\Urlify::transliterate ('Lo siento, no hablo español.');
// "Lo siento, no hablo espanol."

?>

扩展字符列表

<?php

j0an\Urlify::add_chars (array (
	'¿' => '?', '®' => '(r)', '¼' => '1/4',
	'¼' => '1/2', '¾' => '3/4', '' => 'P'
));

echo j0an\Urlify::downcode ('¿ ® ¼ ¼ ¾ ¶');
// "? (r) 1/2 1/2 3/4 P"

?>

扩展要删除的单词列表

<?php

j0an\Urlify::remove_words (array ('remove', 'these', 'too'));

?>

优先使用特定语言映射

<?php

echo j0an\Urlify::filter (' Ägypten und Österreich besitzen wie üblich ein Übermaß an ähnlich öligen Attachés ',60,"de");
// "aegypten-und-oesterreich-besitzen-wie-ueblich-ein-uebermass-aehnlich-oeligen-attaches"

echo j0an\Urlify::filter ('Cağaloğlu, çalıştığı, müjde, lazım, mahkûm',60,"tr");
// "cagaloglu-calistigi-mujde-lazim-mahkum"

?>

请注意,在第一种情况下,“ü”被转写为“ue”,而在后者中则简单地成为“u”。