регулярное выражение как заменить ссылки на твиттер

Пожалуйста, помогите мне с регулярным выражением.

Я нашел этот хороший кусок кода:

    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

Пожалуйста, помогите мне. Спасибо!

8
задан pleerock 5 November 2011 в 14:19
поделиться