Emlog文章页语音播放内容
前言:
实际上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(" ","",$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通过百度文字转语音免费接口使用实例》