Yii中的Helper使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Pencil1312/article/details/78037068

类名: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

猜你喜欢

转载自blog.csdn.net/Pencil1312/article/details/78037068