nl2br() equivalent in javascript
nl2br() equivalent in javascript
可能重复:
jQuery将换行符转换为br(nl2br等效(
目前,我为每个evt.which == 13
添加<BR>
。有没有针对JavaScript的nl2br()
,所以我可以去掉这个evt.which == 13
?
这与php.js有何不同
$('#TextArea').keypress(function(evt) {
if (evt.which == 13) {
var range = $('#TextArea').getSelection();
var image_selection = range.text;
$('#TextArea').replaceSelection('<BR>');
$('#TextArea1').html($('#TextArea').val());
}
});
看看php.js上的nl2br,它似乎正是您想要的。基本上是:
function nl2br (str, is_xhtml) {
if (typeof str === 'undefined' || str === null) {
return '';
}
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '$1' + breakTag + '$2');
}
编辑:
您使用nl2br()
的示例可能会更改如下:
$('#TextArea').keypress(function(evt){
$('#TextArea1').html(nl2br($('#TextArea').val()));
});
(注意,这会在每次按键时更新#TextArea1
,并且不会更改#TextArea
的值,这是我认为您正在寻找的,但我可能误解了(
第2版:
如果您想获得旧函数的行为(将<br/>
插入#TextArea
(,请执行以下操作:
$('#TextArea').keypress(function(evt){
$('#TextArea').html(nl2br($('#TextArea').val())); // replace linebreaks first
$('#TextArea1').html($('#TextArea').val()); // copy to #TextArea1
});
这是php.js.中的一个函数nl2br
function nl2br (str, is_xhtml) {
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Philip Peterson
// + improved by: Onno Marsman
// + improved by: Atli Þór
// + bugfixed by: Onno Marsman
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Brett Zamir (http://brett-zamir.me)
// + improved by: Maximusya
// * example 1: nl2br('Kevin'nvan'nZonneveld');
// * returns 1: 'Kevin<br />'nvan<br />'nZonneveld'
// * example 2: nl2br("'nOne'nTwo'n'nThree'n", false);
// * returns 2: '<br>'nOne<br>'nTwo<br>'n<br>'nThree<br>'n'
// * example 3: nl2br("'nOne'nTwo'n'nThree'n", true);
// * returns 3: '<br />'nOne<br />'nTwo<br />'n<br />'nThree<br />'n'
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br ' + '/>' : '<br>'; // Adjust comment to avoid issue on phpjs.org display
return (str + '').replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '$1' + breakTag + '$2');
}
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- write HTML in JavaScript
- SetTimeout and clearTimeout in Javascript
- TicTacToe minimax AI in Javascript
- Calculation in javascript
- "a" element in JavaScript
- Truthy & Falsy in Javascript
- How can I get and replace this in javascript ( jquery?
- Output in Javascript
- Eventlistener in javascript to jQuery
- Escaping/Unescaping html in javascript?
- {} + [] in Javascript
- document.getElementbyId in Javascript
- SharePoint 2010 SP.FileCreationInformation() in javascript c
- url in javascript
- Detect Mountain Lion (OS X 10.8) in javascript?
- document Object in JavaScript
- Error with this.id in Javascript
- DEC2Bin in JavaScript?
- drawImage in JavaScript (Canvas)