解
var msg = strip_tags(tinyMCE.get('msg').getContent({format: 'raw'})); // msg = textarea id
凡strip_tags()
是如下面所定義所需自定義函數:
function strip_tags(input, allowed) {
// discuss at: http://phpjs.org/functions/strip_tags/
// original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// improved by: Luke Godfrey
// improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// input by: Pul
// input by: Alex
// input by: Marc Palau
// input by: Brett Zamir (http://brett-zamir.me)
// input by: Bobby Drake
// input by: Evertjan Garretsen
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Onno Marsman
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Eric Nagel
// bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Tomasz Wesolowski
// revised by: Rafał Kukawski (http://blog.kukawski.pl/)
// example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
// returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
// example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
// returns 2: '<p>Kevin van Zonneveld</p>'
// example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
// returns 3: "<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>"
// example 4: strip_tags('1 < 5 5 > 1');
// returns 4: '1 < 5 5 > 1'
// example 5: strip_tags('1 <br/> 1');
// returns 5: '1 1'
// example 6: strip_tags('1 <br/> 1', '<br>');
// returns 6: '1 <br/> 1'
// example 7: strip_tags('1 <br/> 1', '<br><br/>');
// returns 7: '1 <br/> 1'
allowed = (((allowed || '') + '')
.toLowerCase()
.match(/<[a-z][a-z0-9]*>/g) || [])
.join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
return input.replace(commentsAndPhpTags, '')
.replace(tags, function($0, $1) {
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
});
}
然後,可以執行對可變msg
例如所需的驗證檢查它是否爲空:
if (msg == '') {
// TinyMCE is blank
}
如何使用
將TinyMCE的內置功能與選項'raw'
(link)返回HTML和文本,但與像
實體轉換爲空間,這有助於在更好的驗證,例如
明文(修剪後也)將失敗空字符串測試。
然後,自定義功能strip_tags
刪除HTML標籤,爲您提供可以運行驗證測試並取得更大成功的明文。
現金
該方案已從@william's answer啓發,通過documentation of TinyMCE去,並與phpjs.org一些幫助。
thx很多,這個答案是有用的:) – william 2010-01-09 14:01:35
你可以通過使用PHP的'strip_tags'等效於JavaScript [可在這裏](http://phpjs.org/functions/strip_tags/)來保存ajax調用,並且還提到了我的[回覆](http://stackoverflow.com/a/24408485/216084)。 – 2014-06-26 05:55:08