Yii中的Helper使用

类名:yii\helpers\Markdown(Markdown助手)

下面是2个实用方法,项目需要显示markdown的时候可以用上:

public static function process($markdown, $flavor = 'original')可以传入markdown字符传然后返回生成的HTML

public static function processParagraph($markdown, $flavor = 'original')同上,只是返回的HTML是一个inline元素(联级元素)

示例:

public function actionTest(){
    $markdown = <<<EOL
### 大标题

部署XX软件,命令如下:

    cd /a/b/c
    yum install xxx
    xxx init
    xxx start -d /home/user/xxx/profile.conf
    rm -rf yyy

配置目录在`/home/user/xxx/profile.conf`
EOL;

    $markdownHtml = \yii\helpers\Markdown::process($markdown);
    $markdownInlineHtml = \yii\helpers\Markdown::processParagraph($markdown);

    return <<<EOL
<link rel="stylesheet" href="http://www.kkh86.com/mylife/bootstrap-3.3.2/css/bootstrap.css">
<div class="container">
$markdownHtml
</div>
EOL;
}

类名:yii\helpers\StringHelper(字符串助手)

方法:(使用是先引入该类)

public static function truncate($string, $length, $suffix = '...', $encoding = null, $asHtml = false)

按指定长度截断一个字符串,并且被截断的地方(结尾)会以…来代替

示例:

echo StringHelper::truncate('我是中国人', 4); //我a是中国...
echo StringHelper::truncate('我是a中国人', 4); //我是a中...
echo StringHelper::truncate('我是中国人', 5); //我是中国人
echo StringHelper::truncate('我是中国人', 6); //我是中国人

//指定截断后缀
echo StringHelper::truncate('我是中国人', 4, '..'); //我是中国..
echo StringHelper::truncate('我是中国人', 4, '。。。'); //我是中国。。。
echo StringHelper::truncate('我是中国人', 4, ' [更多 阅读原文]'); //我是中国 [更多 阅读原文]

另外它还支持带HTML的字符截断,只要将最后一个参数$asHtml设为true:

echo StringHelper::truncate('abcd<span>efg</span>hijk', 9, '...', 'UTF-8', true);
//我 <span>是a </span>...

针对英文句子做单词截断:

public static function truncateWords($string, $count, $suffix = '...', $asHtml = false)

这个应该不会有多少需求要用到,另外对于带有HTML的句子处理比truncate好,不会有啥问题

另外如果想写Widget或其它模板的时候不想撸太多HTML,想用简洁优雅的方式来实现的话多用yii\helpers\Html

做控制台应用的时候则多用yii\helpers\Console

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值