【发布时间】:2014-03-31 05:55:32
【问题描述】:
我试图在运行时将换行符添加到文本区域 (\n),但不是显示为换行符,而是将文本区域物理放入 \n。 我已经阅读了有关此的各种主题 Link 1 和 link 2 没有任何成功。 这可能取决于文本区域内数据的更新方式,但这无关紧要。我的数据是通过 json 从 php 文件中引入并通过 jQuery 显示的
json 响应示例:
{"error":"2","err_msg":"","data":"<p class=\"left\">Aligned left text<\/p><br>Sub text <br>"}
然后应该显示文本区域中的文本:
[left]Aligned left text[/left]
Sub text
但是在我的页面上我得到了
[left]Aligned left text[/left]\nSub text
我有 php 函数可以将相关的 html 标签转换为我想要的,但由于某种原因换行符不起作用
$string = preg_replace_callback('(\<p class="left"\>(.*?)\</p\>)is', function($matches){
$txt = $matches[1];
return '[left]'.$txt.'[/left]\n';
}, $string);
$string = str_replace('<br>','\n',$string);
die(json_encode(array('error' => '2', 'err_msg' => '', 'data' => $string)));
有更多的格式和不同的标签,但只有换行符不起作用。
此更改应显示在文本区域中
$('#edit').val(json.data)
<textarea id="edit" ></textarea>
【问题讨论】:
-
看起来您正在将正确的 HTML 换行符 (
) 替换为不正确的换行符 ('\n')。 -
没有同样的问题没有换行符它只是显示
我希望新行开始的地方 -
你想在哪里显示被替换的字符串?
标签: javascript php jquery html json