symfony - 手动生成学说 slug

标签 symfony doctrine-orm slug stofdoctrineextensions

我在我的 Symfony2 项目中使用了 sluggable 行为,但现在我想根据不同的文本(当前标题、旧标题、表单输入中的用户文本)为一个页面制作许多 slug,并将其保存在另一个页面中 table 。我的问题是 - 如何手动使用任何文本的教义扩展?我在任何地方都找不到。完美的应该是这样的:

/* careful - it's not a real, working code! */
$sluggable = new DoctrineSluggable();
$slug = $sluggable->generate('My own text!');
echo $slug; // my-own-text

最佳答案

我偶然找到了解决方案 here .
代码:

use Gedmo\Sluggable\Util as Sluggable;    

$string = 'My own text!';
$slug = Sluggable\Urlizer::urlize($string, '-');
    if(empty($slug)) // if $string is like '=))' or 'トライアングル・サービス' an empty slug will be returned, that causes troubles and throws no exception
        echo 'error, empty slug!!!';
    else
        echo $slug;

关于symfony - 手动生成学说 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556682/

相关文章:

Symfony2 - 通过 slug 查找帖子的 Doctrine 查询出现错误

mongodb - 路径 "doctrine_mongodb.connections"的类型无效。需要数组,但得到字符串

linux - Amazon Linux AMI 上的 Symfony2 中的缓存/日志权限

symfony - 使用 Symfony2 的 Redis 导致我服务器上的站点之间出现问题

symfony - 如何在 Symfony2 中停止 Assets 监视?

php - 如何使用 PHP Doctrine 2 ORM 在 MySQL varbinary 列上进行选择

python - 用 slug 装饰 Django 模型

带有非拉丁字符的 Javascript slug 函数

mysql - 如何在 Symfony2 数据库查询中使用 MATCH

php - 有没有办法使用 Doctrine2 导出/恢复数据库?