Yii中的Helper使用

来源:互联网 发布:淘宝联盟买东西省钱 编辑:程序博客网 时间:2024/06/10 10:01

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

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

public static function process($markdown, $flavor = 'original')可以传入markdown字符传然后返回生成的HTMLpublic 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

原创粉丝点击