Пожалуйста, помогите мне с регулярным выражением.
Я нашел этот хороший кусок кода:
var ify = function() {
return {
"link": function(t) {
return t.replace(/(^|\s+)(https*\:\/\/\S+[^\.\s+])/g, function(m, m1, link) {
return m1 + '' + ((link.length > 25) ? link.substr(0, 24) + '...' : link) + '';
});
},
"at": function(t) {
return t.replace(/(^|\s+)\@([a-zA-Z0-9_]{1,15})/g, function(m, m1, m2) {
return m1 + '@' + m2 + '';
});
},
"hash": function(t) {
return t.replace(/(^|\s+)\#([a-zA-Z0-9_]+)/g, function(m, m1, m2) {
return m
1 + '#' + m2 + '';
});
},
"clean": function(tweet) {
return this.hash(this.at(this.link(tweet)));
}
};
}();
Но он не работает должным образом.
Сначала на моей странице может быть @username
, и по этой причине регулярное выражение не работает (я думаю, мне нужно добавить эти символы «» в «функцию at». Но как?)
На секунду в «хеш-функции» на моей странице в запросе могут быть другие символы, отличные от a-zA-Z). Например, «такие символы» или «ñ» или другие. А форматированная строка будет иметь вид # Catalu ña
для # Cataluña
word
Пожалуйста, помогите мне. Спасибо!