【问题标题】:text editor cuts off if you use a double space如果您使用双倍空格,文本编辑器会关闭
【发布时间】:2012-03-18 02:07:23
【问题描述】:

我正在使用 TINYMCE 文本编辑器,如果您使用双空格,则字符串会被截断。因此,如果我写:
a a a  a -- 它将输出为 -- a a a -- 因为在第三个 a 之后有一个双空格。我试过:

$text = preg_replace('/[ ]+/', ' ', $text);

哪个不起作用,我设置了:

<meta charset="UTF-8" />

这太奇怪了……这是什么原因造成的?谢谢
更新

这里的代码仍然无法正常工作...

jQuery/Ajax

    $('#page_left_comment_submit').click(function() {

        var comment = tinyMCE.activeEditor.getContent(); // This how you retrieve data with TINYMCE


        $.ajax({
            type: 'POST',
            url: '........',
            data: 'comment=' + comment,
            success: function(data) {
                $('#music_spot_comment_result_all_holder_top')..html(data);

                }
            });
        });

PHP

if(isset($_POST['comment'])) {
            $comment = $_POST['comment'];
            $comment = preg_replace('/\s+/', ' ', $comment);

            echo $comment;

            }

Var 转储之后
这是 a a a (双空格) a

string(9) "
a a a "

之前
与上面相同的字符串

string(9) "
a a a "


更新 我在 javascript 中这样做是为了消除双空格:

var comment = comment.replace(/&nbsp;/g,'');

【问题讨论】:

    标签: php javascript tinymce wysiwyg


    【解决方案1】:

    whitespace 的正则表达式是\s

    在你的情况下:

    $text = preg_replace('/\s\s+/', ' ', $text);
    

    【讨论】:

    • preg_replace('/[ ]+/', '\\s', $_POST['comment'])?是不是因为它不起作用...
    • stackoverflow 是如何做到的,因为它们默认只允许单个空格?
    • 我收到警告:preg_replace() [function.preg-replace]: Unknown modifier 'g' in /home/content.........
    • @Graham 我的错,删除gg 是全局替换的修饰符,但 preg_replace 默认替换所有匹配项。
    • 还是不行。我通过 ajax 发送它,我不知道这是否重要。但是,我通过 javascript 回显字符串很好。一旦它击中 PHP 在第一次出现“双空格”后被切断。您可以看到代码的更新...
    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多