Удаление внешних стилей из редактора jQuery WYSIWYG в PHP - PullRequest
2 голосов
/ 31 октября 2010

У меня проблема с моим редактором WYSIWYG.Если пользователи копируют внешний текст, это выглядит примерно так:

"p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; шрифт: 11.0px 'Lucida Grande';min-height: 13.0px} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; шрифт: 11.0px 'Lucida Grande'} Только переменные, назначенные в последнем цикле, доступны вне области цикла foreach."

Это явно проблематично.

Кроме того, кажется, что также есть проблема с переносами строк, то есть тегами <br />.Иногда их подбирают, иногда нет.

Я проверил контент через strip_tags() примерно так:

<?php
$body = strip_tags($body, '<a><br><b><i><img><ul><ol><li>');

Есть мысли о том, что здесь происходит?

Если это поможет, я использую jWYSIWYG для редактора.

Ответы [ 4 ]

2 голосов
/ 03 ноября 2010

По вашему запросу о strip_tags () :

php > $str="<br><br/><br />";
php > echo strip_tags($str, "<br>");
<br><br />

Есть ли вероятность, что <br/> используется и опускается? Если это так, добавьте <br/> в strip_tags (), например,

php > $str="<br><br/><br />";
php > echo strip_tags($str,'<br><br/>');
<br><br/><br />
0 голосов
/ 10 ноября 2010

Следующий код, наконец, заставил меня работать:

$('iframe').ready(function() {
    $(this).contents().find('.wysiwyg').find('iframe').contents()
    .find('.wysiwyg').bind('paste', function() {
        // Completely strips tags.  Taken from Prototype library.
        var el = $(this);
            var strClean = el.text().replace(/<\/?[^>]+>/gi, '');
            el.text(strClean);
        }, 0);
    });
});

Вы можете увидеть это в действии на http://jsfiddle.net/v4LhV/3/

0 голосов
/ 09 ноября 2010

Я думаю, что в трекере проблем для jwysiwg есть комментарии, связанные с этим для очистки на стороне браузера.

0 голосов
/ 04 ноября 2010

Возможно использовать preg_replace как http://ideone.com/VjMZY?

$str = preg_replace('/<br[^\>]*?>/', '', $str);
...