前言:

实际上Emlog文章页语音播放内容这个功能是可以写成插件出售了,本博客原创,转载请注明出处。

本功能参考了Zblog语音插件、标题自动语音播放功能、Emlog中Fly的MIP模板的末端PHP代码。

实际上昨天下午研究了一天,在文章内容JS去除HTML上难住了,今天灵机一动,通过PHP过滤掉了HTML以及双引号,这才解决了文章内容转纯文本的问题,content可以正常播放。

我啥程序语言也不会,所有的功能都是瞎子摸黑慢慢拼凑出来的。

如需体验本功能可参考本博客的手机站。(非m.noteet.com,而是手机浏览器直接访问本域名,或通过PC浏览器的审查元素,模拟手机访问本博客)

下文中的JS以及图片已经封装,小白可直接引用。

一、首先在主题模板的module.php最后加上一段PHP代码

该代码的功能室移除文章内的所有HTML的代码,通过strip_tags、trim、str_replace等方法移除一切html及通配符

<?php
//移除文章内的所有HTML
function simple($content){
	$content = strip_tags($content);  
$content = trim($content);  
$content = ereg_replace("\t","",$content);  
$content = ereg_replace("\r\n","",$content);  
$content = ereg_replace("\r","",$content);  
$content = ereg_replace("\n","",$content);  
$content = ereg_replace("&nbsp;","",$content);
	$content = ereg_replace("¥","",$content);
	$content = ereg_replace("&","",$content);
	$content = ereg_replace("/","",$content);
	$content = ereg_replace(" ","",$content);
	$content = str_replace('"', '', $content);
	return $content;
}
?>

二、在主题模板echo_log.php文章阅读页增加以下三条:

1.引用js文章,插入style样式

<!--内容转换语音-->
<script src="<?php echo BLOG_URL; ?>/content/plugins/saying/saying.js"></script>
<style>.speechdu {float: left;margin-right: 10px;cursor: pointer;}.speechdu img{width:25px;height:25px;}</style>
<!--内容转换语音结束-->


2.在合适的地方放入语音播放内容按钮,如文章标题处

<span  class="speechdu">
<a href="javascript:playPause();" title="朗读本文"><img src="<?php echo BLOG_URL; ?>/content/plugins/saying/pic/audiot.png" id="music_btn01" border="0"></a>
</span>


3.在文章末放上内容转换语音的video和source来源,最好放在</html>标签后面,这样出错也不显示出来,不影响阅读体验。

<!--内容转换语音-->
<video id="langdu" style="display:none">
<source id="source" src="http://tts.baidu.com/text2audio?cuid=baiduid&lan=zh&ctp=1&pdt=311&tex=<?php 
	$log=simple($log_content);
	echo $log;
	?>" type="video/mp4">
</video>	
<!--内容转换语音结束-->


本功能刚研发出来,未来也不打算更新。如果您有什么疑问,或者发现了什么弊端,请在本文下方留言。

进入文章页自动播放标题功能,请参考《Emlog通过百度文字转语音免费接口使用实例