wordpress里发代码的技巧
wordpress的blog平台我很喜欢,但它有个让人很不爽的地方,就是很难方便又准确的贴出代码。往往浏览器里显示正常,贴进来就完全走样,回车变成空格,html标记显示不了,有的字符还少半拉…… 种种问题不一而足,对经常要贴代码的开发者真是一种折磨。
测试多次后发现,最常见的问题是:内容提交后,回车跟tab无效(即使在<pre>标记里),多个空格无效(即使把空格转换成 ),html标记不显示(即使把 < 和 > 转换为 < 和 >),\n 变成了 n,src="url"(除<img>标记之外)多了 mce_src="url" …… 没有太仔细的研究,大致就是这样。
在实践中摸索到了一些经验,也就有了相应的解决方法。(注:以下均为在源代码编辑状态下的代码)
- 代码中的回车应该使用
<br>,连续空格(比如缩进)应该使用&nbsp;(或&#32;) - html标记中,应该把
<替换为&lt;(或&#60;),>替换为&gt;(或&#62;) \n(换行经常用到)应该替换为\\n(或&#92;n)src="url"(<script>和<iframe>标记中用到比较多)中的src应该替换为&#115;&#114;&#99;
其实以上几点可以归纳为一点,那就是:把敏感字符替换成“处理”过的unicode值。正常的unicode值为 A 的形式(& + # + ascii码值 + ;),把其中的 & 再次替换为 & 变成 &#65; 的形式,就大功告成了。
附:要查看各个字符的ascii码值表,这儿有一份。
![htmlor [at] gmail.com](http://static.blog.htmlor.com/myimages/htmlor_gmail.gif)

10条评论 »
hiads
2006-08-11 13:13
我也正为这个问题困扰着。有没有方便的法子呢,这样的话,如果代码太多,修改起来很麻烦的。
htmlor
2006-08-11 13:22
更方便的方法我还不知道,只能等待wordpress改进了。不过可以用批量替换的方式减小工作量。
calon
2006-08-13 21:20
装显示代码的插件不行吗?
htmlor
2006-08-13 23:02
calon
不太明白你的意思?
3751
2006-08-15 21:17
我都想换blog了。
左飞
2006-09-02 20:49
很简单,试试把字体改成斜体,问题应该可以解决。
cherami
2006-10-24 14:41
换成FCKEditor吧可以解决大部分的问题。
WordPress自带的TinyMCE编辑器太糟糕了:http://www.jiehoo.com/2006/10/22/wordpress%e8%87%aa%e5%b8%a6%e7%9a%84tinymce%e7%bc%96%e8%be%91%e5%99%a8%e5%a4%aa%e7%b3%9f%e7%b3%95%e4%ba%86/
yskin
2006-12-12 11:10
WordPress的TinyMCE还是有点问题,不过我宁可在出现问题的时候去研究WP源代码,或者直接关掉TinyMCE来编辑这一篇文章,也不愿意换用FCKEditor。因为WP集成的TinyMCE做了很多修改以适应WP的环境,乱换编辑器是不好地。
斜线消失的问题,可以打两个斜线,显示出来就是正确的一个了。不过,下次再编辑时,这一个斜线又会消失了。
在文章里贴源代码的问题,还是应该和代码高亮问题一起解决下。
积水成渊博客
2008-06-17 21:15
遇到这个问题,搜索到这里来的。虽然没有弄成功(我自己的因素),还是感谢博主的分享。
CodeRoar's Blog » Blog Archive » wordpress里发代码的技巧
2008-07-24 19:38
[…] 引用:htmlor’s blog […]
评论feed