PHP - 显示html textarea中的所有字符(换行符,包括空格)

时间:2014-08-30 09:47:45

标签: html newline whitespace

我在MySQL中有一个包含电子邮件模板的文本字段。

我构建了一个管理界面,管理员可以在<textarea></textarea>中显示内容并进行编辑。

效果很好,但我希望能够真正看到空格和\r\n,比如Notepad ++&#34; Show All Characters&#34;按钮。

以下是电子邮件模板,因为它目前显示在textarea

html textarea



这就是我喜欢看它的方式,就像Notepad ++显示它一样,显示换行符和空格:

notepad++ show all characters




我怎么能用PHP做到这一点?我应该从数据库中转义\r\n以使其显示,还是有其他方法?



更新 我确实设法创建了一个切换按钮,即使在输入时也会显示空格和换行符。

参见示例演示 http://jsfiddle.net/QshDd/80/

我在这里找到了一些有趣的代码:http://www.kristofdegrave.be/2012/03/javascript-change-entered-character-in.html


2 个答案:

答案 0 :(得分:1)

方法: 在将文本添加到textarea之前,您可以使用其他一些“特殊”字符替换换行符。然后在post中保存textarea的内容,在mysql中切换带有换行符的“特殊”字符

答案 1 :(得分:1)

您可以使用TinyMCE。以下是参考链接http://www.tinymce.com/tryit/full.php

只需为您的文字区域添加ID

即可
<textarea id="tinyeditor" ></textarea>

在您的脚本中自定义您的需求,例如

var editor = new TINY.editor.edit('editor', {
    id: 'tinyeditor',
    width: 584,
    height: 175,
    cssclass: 'tinyeditor',
    controlclass: 'tinyeditor-control',
    rowclass: 'tinyeditor-header',
    dividerclass: 'tinyeditor-divider',
    controls: ['bold', 'italic', 'underline', 'strikethrough', '|', 'subscript', 'superscript', '|',
        'orderedlist', 'unorderedlist', '|', 'outdent', 'indent', '|', 'leftalign',
        'centeralign', 'rightalign', 'blockjustify', '|', 'unformat', '|', 'undo', 'redo', 'n',
        'font', 'size', 'style', '|', 'image', 'hr', 'link', 'unlink', '|', 'print'],
    footer: true,
    fonts: ['Verdana','Arial','Georgia','Trebuchet MS'],
    xhtml: true,
    cssfile: 'custom.css',
    bodyid: 'editor',
    footerclass: 'tinyeditor-footer',
    toggle: {text: 'source', activetext: 'wysiwyg', cssclass: 'toggle'},
    resize: {cssclass: 'resize'}
});

最后从文档准备好的

中的textarea数据库中获取值
$(document).ready(function(){
    var template_data = '<?php echo $database_result; ?>';
    $("iframe").contents().find("#editor").html(template_data);  
});