CKeditor contenteditable preg_match

时间:2014-01-14 23:53:33

标签: javascript php ajax ckeditor

我正在使用内联CKeditor,为了让每个段落引用被视为一个可信的div,所以工具栏随内容移动,我使用javascript setInterval定期通过ajax将内容插入到数据库中。

我用PHP {<1}}替换每个<p>标记:

<div contenteditable="true"><p>

第一次使用ajax进行更新时,代码工作正常,但在手动刷新时,它会插入额外的if(preg_match('/<p>/', $post)) { $newpost = str_replace("<p>", "<div contenteditable=\"true\"><p class=\"paragraph\">", $post); } else { $newpost = $post; }

实施例: 首次刷新它进入

<div contenteditable="true">

第二次刷新时进入

<div contenteditable="true"><p>

第三次刷新它进入

<div contenteditable="true"><div contenteditable="true"><p>

仅在手动页面刷新而不是使用setInterval时才会发生这种情况。

我很确定它与我正在使用的preg_match有关,因为如果我将下面的代码插入数据库并刷新页面,内容就会完全按照原样显示。

<div contenteditable="true"><div contenteditable="true"><div contenteditable="true"><p>

有人能告诉我,我做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我用PHP {<1}}替换每个<p>标记:

使用JavaScript!这不是服务器端的任务。请尝试jQuery's wrap或执行the native way