将新行从PHP替换为JavaScript

情况很简单:

我发布了带有文本区域的纯HTML表单.然后,在PHP中,根据表单的内容注册一个JavaScript函数.

使用以下代码完成此操作:

$js = sprintf("window.parent.doSomething('%s');", $this->textarea->getValue());

就像魅力一样,直到我尝试处理换行符为止.我需要用char 13替换换行符(我相信),但是我无法找到有效的解决方案.我尝试了以下方法:

$textarea = str_replace("\n", chr(13), $this->textarea->getValue());

以及以下内容:

$js = sprintf("window.parent.doSomething('%s');", "'+String.fromCharCode(13)+'", $this->textarea->getValue());

有谁知道如何正确处理这些换行符的线索?

解决方法:

您几乎在那里,只是忘了实际替换换行符.

这应该可以解决问题:

$js = sprintf("window.parent.doSomething('%s');"
    , preg_replace(
              '#\r?\n#'
            , '" +  String.fromCharCode(13) + "'
            , $this->textarea->getValue()
);
上一篇:五个 PostgreSQL 典型故障案例及处理 | 进阶技巧


下一篇:BLUEZ:使用DBUS列出所有有效的控制器(controller)