簡體   English   中英

javascript showdown,markdown無法正確解析

[英]javascript showdown, markdown not parsing correctly

我有一個令人困惑的問題。

我有兩個文件,都運行攤牌。 但是,似乎只有一個文件可以正確解析。

這是交易。

文件1通過PHP和AJAX運行。

文件2是通過AJAX請求獲取的。 處理ajax請求的文件包含此代碼。

這是ajax

如您所見,將細節顯示在屏幕上的jQuery代碼與變量和JSON字符串(而不是數據庫中的直接字符串)完全相同。

現在文件#1無法正確解析markdown,而文件2可以正確解析markdown ...

這是文件#1和#2的屏幕截圖

文件1

歸檔一個不起作用

文件2

歸檔兩個工作

關於可能造成這種情況的任何想法? 另外,有什么想法可以解決嗎?

可能是因為在文件2中您具有:

  $copy = preg_replace('^(.*)\n(.*)^', '$1<br />$2', $result['copy']);
  $copy = preg_replace('/[\r]+/', '$1<br />$2', $result['copy']);

忽略第一個preg_replace()。 你要:

  $copy = preg_replace('^(.*)\n(.*)^', '$1<br />$2', $result['copy']);
  $copy = preg_replace('/[\r]+/', '$1<br />$2', $copy);

您已在文件1中正確實現了該功能。這可能意味着文件1的行為是正確的,而文件2的行為實際上是不正確的,具體取決於您查看文件的方式。

編輯

回答您的評論:

替換(在文件1中):

   $copy = preg_replace('^(.*)\n(.*)^', '$1<br />$2', $js_r->copy);
   $copy = preg_replace('/[\r]+/', '$1<br />$2', $copy);

   $copy = preg_replace('/[\r]+/', '$1<br />$2', $js_r->copy);

這樣可以達到預期的效果嗎?

好,

因此,似乎是文件中換行的解析...但是我們從
因為這會導致Markdown解析錯誤的問題導致兩次轉義

所以現在讀

$copy = preg_replace("/\n/", "\\\\n", $js_r->copy);
$copy = preg_replace("/\r/", "\\\\r", $copy);

可以正常工作並有效地解析兩個文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM