在JavaScript中有一个简单的等效项吗?
$find = array("<", ">", "\n"); $replace = array("<", ">", "<br/>"); $textarea = str_replace($find, $replace, $textarea);
这是使用PHP的str_replace,它允许您使用单词数组来查找和替换。我可以使用JavaScript / jQuery做类似的事情吗?
str_replace
... var textarea = $(this).val(); // string replace here $("#output").html(textarea); ...
您可以使用自己的函数来扩展String对象,该函数可以满足您的需要(如果缺少功能,则很有用):
String.prototype.replaceArray = function(find, replace) { var replaceString = this; for (var i = 0; i < find.length; i++) { replaceString = replaceString.replace(find[i], replace[i]); } return replaceString; };
对于全局替换,您可以使用正则表达式:
String.prototype.replaceArray = function(find, replace) { var replaceString = this; var regex; for (var i = 0; i < find.length; i++) { regex = new RegExp(find[i], "g"); replaceString = replaceString.replace(regex, replace[i]); } return replaceString; };
要使用该功能,它将类似于您的PHP示例:
var textarea = $(this).val(); var find = ["<", ">", "\n"]; var replace = ["<", ">", "<br/>"]; textarea = textarea.replaceArray(find, replace);