嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-06-14 2438 次浏览 标签 : ZzBlog

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

由于每次用编辑器输入代码块之后,总要切换到html源码状态,然后删掉多余的标签,然后在添加新内容,否则直接接着写,就全加到代码块里面去了。

针对这个问题我做了些细微的调整。

在编辑器中加入到代码块的地方/usr/html/github/zhoumengkang/editor/plugins/code/code.js做一个细微修改:

html = '<pre class="prettyprint linenums' + cls + '">\n' + K.escape(code) + '</pre>  ';
html = '<pre class="prettyprint linenums' + cls + '">\n' + K.escape(code) + '</pre>';

这样代码输入完之后,就可以在后面写文章了,不用切换源码状态了。每次从源码状态转回可视化编辑的时候,编辑器会自动“纠正语法”错误,对不完整的标签就行补全,比如

<p>
<pre>
...
</pre>
</p>

就会自动被“修复”为:

<p>
      <br />
</p>
<pre>
...
</pre>
<p>
      <br />
</p>

这样就多了很多无用标签,而且排版显得不好看。

针对上面的修改,我自己做了如下规定:以后写文章的时候,需要输入代码,先回车,输入完代码,在后面也回车。如此,正常情况下,不在源码和可视编辑模式来回切换的情况下,生成的代码如下:

<p>
	博客内容
</p>
<p>
<pre class="prettyprint linenums lang-js">code...</pre>

</p>
<p>
	继续是博客内容
</p>

但是不排除,有时候需要切换到源码模式,所以经过本地多次测试在入库之前做一些替换:

$search = array("/<p>\s+<br \/>\s+<\/p>/","/<p>\r\n<pre/","/<\/pre>\r\n\r\n<\/p>/","/<p>\s+\s+<\/p>/","//");
$replace = array("","<pre","</pre>","","");
$_POST['content'] = preg_replace($search,$replace,$_POST['content']);

$content = addslashes(htmlspecialchars($_POST['content'],ENT_QUOTES));

暂时就这么多。

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表