0

我有一个令人困惑的问题。

我有两个文件,都运行摊牌。但是,似乎只有一个文件可以正确解析。

这是交易。

文件 1通过 PHP 和 AJAX 运行。

文件 2通过 AJAX 请求获取。处理 ajax 请求的文件包含此代码。

这是阿贾克斯

如您所见,将详细信息显示在屏幕上的 jQuery 代码除了变量和 JSON 字符串(而不是来自数据库的直接字符串)之外完全相同。

现在文件 #1 无法正确解析降价,而文件 2 则...

这是文件 #1 和 #2 的屏幕截图

文件 #1

文件一不工作

文件 #2

文件二工作

关于可能导致这种情况的任何想法?另外,关于修复的任何想法?

4

2 回答 2

1

也许是因为在文件 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);

这样能达到预期的效果吗?

于 2009-09-26T14:09:10.067 回答
0

行,

所以它似乎是文件中换行符的解析......但是我们已经改变了它,
因为这导致markdown解析错误的问题双重转义

所以它现在显示

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

它可以正常工作并有效地解析两个文件

于 2009-09-27T21:06:45.840 回答