文本编辑器在<textarea>中工作,但在显示时不工作

时间:2015-07-25 15:32:21

标签: javascript jquery html css

&lt; p&gt;我这里有一个非常非常复杂的问题,我想知道你是否可以提供帮助。&lt; / p&gt; &lt; p&gt;我有一个博客系统,我使用表单来创建博客文章。这是表格的样子:&lt; a href =&#34; http://prntscr.com/7wupnn"的rel =&#34; nofollow的&#34;&GT; HTTP://prntscr.com/7wupnn< / A&GT; (正如你所看到的,我已经做了一点粗体并改变了颜色)。&lt; / p&gt; &lt; p&gt;以下是该表单的来源:&lt; / p&gt; &LT;预&GT;&LT;代码&GT;&LT; PHP 在session_start(); 包括(&#39; db_connect.php&#39); 如果(isset($ _ SESSION [&#39; USER_ID&#39;]!)){ 标题(&#39;位置:login.php&#39;); 出口(); } 如果(isset($ _ POST [&#39;提交&#39;])){ $ title = $ _POST [&#39; title&#39;]; $ body = $ _POST [&#39; body&#39;]; $ category = $ _POST [&#39; category&#39;]; $ title = $ db-&gt; real_escape_string($ title); $ body = $ db-&gt; real_escape_string($ body); $ user_id = $ _SESSION [&#39; user_id&#39;]; $ date = date(&#39; Y-m-d G:i:s&#39;); $ body = htmlentities($ body); if($ title&amp;&amp; $ body&amp;&amp; $ category){ $ query = $ db-&gt; query(&#34; INSERT INTO帖子(user_id,title,body,category_id,posted)VALUES(&#39; $ user_id&#39;,&#39; $ title&#39;, &#39; $ body&#39;,&#39; $ category&#39;,&#39; $ date&#39;)&#34;); 如果($查询){ echo&#39;&lt; div style =&#34; position:absolute;底部:40px;左:500px;填充:10px;背景:红色; box-shadow:0px 3px 12px 2px#000;颜色:#fff;&#34;&gt;帖子已添加&lt; / div&gt;&#39 ;; }其他{ echo&#39;&lt; div style =&#34; position:absolute;底部:40px;左:500px;填充:10px;背景:红色; box-shadow:0px 3px 12px 2px#000;颜色:#fff;&#34;&gt;发生了意外错误。&lt; / div&gt;&#39 ;; } }其他{ echo&#39;&lt; div style =&#34; position:absolute;底部:40px;左:500px;填充:10px;背景:红色; box-shadow:0px 3px 12px 2px#000;颜色:#fff;&#34;&gt;请输入所有必要信息以继续&lt; / div&gt;&#39 ;; } } ?&GT; &lt; div id =&#34; mainbox&#34;&gt; &lt; form action =&#34;&lt;?php echo $ _SERVER [&#39; PHP_SELF&#39;]?&gt;&#34;方法=&#34;后&#34; ENCTYPE =&#34;多部分/格式数据&#34;&GT; &lt; input type =&#34; text&#34;命名=&#34;标题&#34;占位符=&#34;在此处输入帖子标题&#34;&gt; &LT p为H.;&LT; / p为H. &lt; textarea name =&#34; body&#34; ID =&#34; mytextarea&#34; cols = 50行= 10占位符=&#34;在此处输入发布内容&#34;&gt;&lt; / textarea&gt; &LT;脚本&GT; CKEDITOR.replace(&#39; mytextarea&#39;); &LT; /脚本&GT; &LT p为H.;&LT; / p为H. &lt; input type =&#34; file&#34;名称=&#34; upfile&#34;&GT; &lt; select name =&#34; category&#34;&gt; &LT; PHP $ query = $ db-&gt; query(&#34; SELECT * FROM categories&#34;); while($ row = $ query-&gt; fetch_object()){ echo&#34;&lt; option value =&#39;&#34;。$ row-&gt; category_id。&#34;&#39;&gt;&#34;。$ row-&gt; category。&# 34;&LT; /选项&GT;&#34 ;; } ?&GT; &LT; /选择&GT; &LT p为H.;&LT; / p为H. &lt;输入类型=&#34;提交&#34;命名=&#34;提交&#34;值=&#34;提交&#34;&GT; &LT; /形式&GT; &LT; / DIV&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;当我点击提交时,帖子会发布到博客页面上 - 但它失去了所有风格 - 这就是我的意思:&lt; a href =&# 34; HTTP://prntscr.com/7wuq9f"的rel =&#34; nofollow的&#34;&GT; HTTP://prntscr.com/7wuq9f< / A&GT; - 正如您所看到的,浏览器正在显示HTML而不是使用它。&lt; / p&gt; &lt; p&gt;这是他博客页面的代码:&lt; / p&gt; &LT;预&GT;&LT;代码&GT;&LT; PHP 包括(&#39;博客/ db_connect.php&#39); $ record_count = $ db-&gt; query(&#34; SELECT * FROM posts&#34;); $ per_page = 2; $ pages = ceil($ record_count-&gt; num_rows / $ per_page); if(isset($ _ GET [&#39; p&#39;])&amp;&amp; is_numeric($ _ GET [&#39; p&#39;])){ $ page = $ _GET [&#39; p&#39;]; }其他{ $ page = 1; } 如果($页&LT; = 0) $ start = 0; 其他 $ start = $ page * $ per_page - $ per_page; $ prev = $ page - 1; $ next = $ page + 1; $ query = $ db-&gt; prepare(&#34; SELECT post_id,title,LEFT(body,100)AS body,category FROM posts INNER JOIN categories ON categories.category_id = posts.category_id order by post_id desc limit $ start, $ per_page&#34); $查询 - &GT;执行(); $ query-&gt; bind_result($ post_id,$ title,$ body,$ category); ?&GT; &lt; div id =&#34; mainbox&#34;&gt; &LT; PHP 而($查询 - &GT;取()): $ html_body = nl2br($ body); $ lastspace = strrpos($ html_body,&#39;&#39;); ?&GT; &lt; h2&gt;&lt;?php echo $ title?&gt;&lt; / h2&gt; &lt; p&gt;&lt;?php echo substr($ html_body,0,$ lastspace)。&#34;&lt; a href =&#39; blog / post.php?id = $ post_id&#39;&gt; .. &LT; / A&GT;&#34;&GT;&LT; / p为H. &lt; p&gt;类别:&lt;?php echo $ category?&gt; &lt; hr /&gt; &LT p为H.;&LT; / p为H. &lt;?php endwhile?&gt; &LT; PHP if($ prev&gt; 0){ echo&#34;&lt; a href =&#39; blog.php?p = $ prev&#39;&gt;上一页&lt; / a&gt;&#34 ;; } if($ page&lt; $ pages){ echo&#34;&lt; a href =&#39; blog.php?p = $ next&#39;&gt;下一页&lt; / a&gt;&#34 ;; } ?&GT; &LT; / DIV&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;关于如何在发布文本时保留文本样式的说明将不胜感激。&lt; / p&gt;

1 个答案:

答案 0 :(得分:0)

substr($html_body, 0, $lastspace)正在截断您的HTML

不完整的HTML不会被渲染。

你为什么这样做?

不要substr($html_body, 0, $lastspace)

只需echo $html_body