Вы можете обнаружить, что эта задача не так проста. Если у вас есть контроль над текстом до его отправки в веб-браузер, вы можете захотеть поместить <span class='bracket'>[my text]</span>
вокруг текста, тогда вы можете легко сделать что-то подобное с jQuery:
$(".bracket").each(function() {
// store the data from $(this).text();
}).remove();
Это может быть сделано с помощью регулярных выражений и jQuery, но есть проблемы, которые могут накапливаться при работе с текстом внутри атрибутов, таких как <input name='test[one][]' />
"Простое" регулярное выражение будет делать что-то вроде этого:
$("td").each(function() {
var $this = $(this);
var html = $this.html();
var bracketText = [];
// match all bracketed text in the html - replace with an empty string
// but push the text on to the array.
html = html.replace(/\[([^\]]+)\]/g, function() {
bracketText.push(arguments[1]);
return "";
});
// put the new html in away and save the data for later
$this.html(html).data("bracketText", bracketText);
});
В этом нет большой опасности, если вы уверены, что у вас не будет []
внутри тегов, отличных от текста.