上一篇文章,新建了个快捷方式,光秃秃的挺难看。
这次我们给他换个图标
首先,在需要更换图标的快捷方式上右击>属性>更改图标

在查找图标输入框输入下面的地址,并按下回车
C:\Windows\system32\imageres.dll

选择一个喜欢的图标

OK

上一篇文章,新建了个快捷方式,光秃秃的挺难看。
这次我们给他换个图标
C:\Windows\system32\imageres.dll
Typecho 实现短代码功能。
前几天,准备对博客首页大改。在寻找灵感的途中。发现有的博客实现了一些好玩的功能。
这个短代码就是其中之一。
毕竟markdown里没有太明显的提示或警告。
稍微研究了一下。
很简单的一个原理,用正则匹配短代码标签,把他替换成样式就OK了。
在主题的 functions.php
的文件里,新建个函数。
// 短代码测试
function getContentTest($content) {
$pattern = '/\[(info)\](.*?)\[\s*\/\1\s*\]/';
$replacement = '<div class="hint hint-info"><span class="glyphicon glyphicon-info-sign hint-info-icon" aria-hidden="true"></span>$2</div>';
$content = preg_replace($pattern, $replacement, $content);
$pattern = '/\[(warning)\](.*?)\[\s*\/\1\s*\]/';
$replacement = '<div class="hint hint-warning"><span class="glyphicon glyphicon-question-sign hint-warning-icon" aria-hidden="true"></span>$2</div>';
$content = preg_replace($pattern, $replacement, $content);
$pattern = '/\[(danger)\](.*?)\[\s*\/\1\s*\]/';
$replacement = '<div class="hint hint-danger"><span class="glyphicon glyphicon-exclamation-sign hint-danger-icon" aria-hidden="true"></span>$2</div>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
然后把主题里输出文章内容的函数(共三处处:index.php 、page.php 和 articles.php)
<?php $this->content(); ?>
换成你刚刚添加的
<?php echo getContentTest($this->content); ?
原理:对excerpt
函数输出的内容再次正则匹配,来在摘要中剔除 短代码标记 。
// 摘要短代码测试
function getExcerptTest($excerpt,$num,$str) {
$pattern = '/\[(info)\](.*?)\[\s*\/\1\s*\]/';
$replacement = ' $2 ';
$excerpt = preg_replace($pattern, $replacement, $excerpt);
$pattern = '/\[(warning)\](.*?)\[\s*\/\1\s*\]/';
$replacement = ' $2 ';
$excerpt = preg_replace($pattern, $replacement, $excerpt);
$pattern = '/\[(danger)\](.*?)\[\s*\/\1\s*\]/';
$replacement = ' $2 ';
$excerpt = preg_replace($pattern, $replacement, $excerpt);
//使用mb_substr防止中文截取成乱码,需要开启extension=php_mbstring.dll扩展,一般都开了
return mb_substr($excerpt,0,$num,"UTF-8").$str;
}
使用下面的代码替换原有摘要输出(150是截断字数, ' ......' 是需要显示的提示)
<?php echo getExcerptTest($this->text,150,' ......'); ?>