fckeditor 的自作多情和正则表达式之间的关系

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /m","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}  

POST["content"] && @

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["useeditor"] == "fckeditor" ) {

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"] = preg_replace("/^    <li /","<li ",

我的blog用的是bo-blog; 使用的编辑器是fckeditor,但是fckeditor没有提供语法高亮的功能,我只好自己找了一个dp.SyntaxHighlighter;

在firefox中,格式化的代码每行直接都有一个空行,让刘尧看了一下,说是"<li> "标签的前面多了四个空格,去掉就可以了,我以为是dp.SyntaxHighlighter添加的四个空格,查了一下不是,因为自己在fckeditor源代码视图中写的如下代码:

  1. <ol>  
  2. <li >aaa</li>  
  3. <li >aaa</li>  
  4. </ol>  

会被自动转为:

  1. <ol>
  2.     <li >aaa</li>
  3.     <li >aaa</li>
  4. </ol>

想hack一下fckeditor,发现js都是压缩过的,不是那么容易的,于是只好换个思路,在提交数据的时候,做一个正则匹配,把"/^    <li/" 替换为"<li"就行了,于是代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /","<li ",$_POST["content"]);
  3. }

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

POST["content"]);}

结果是过滤不掉,为什么呢?罗丹同学看了一下,说用"m"修饰一下试试,这里就是一个多行正则匹配的概念了,添加"m"修饰,搞定,代码如下:

  1. if(@$_POST["content"] && @$_POST["useeditor"] == "fckeditor" ) {  
  2.     $_POST["content"] = preg_replace("/^    <li /m","<li ",$_POST["content"]);
  3. }  

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据