Twitter регулярное выражение для отображения текста в виде URL, но не, если он предназначен для текста - PullRequest
1 голос
/ 20 июня 2010

Может кто-нибудь помочь мне настроить это регулярное выражение ??

У меня есть это регулярное выражение для твиттера, и если я произношу слово типа R @ chard, оно хочет превратить его в URL. В самом Твиттере оно отображается правильно.

Стирание последней строки может быть очевидным, хотя я не знаю много о формировании выражений регулярных выражений. Может быть, есть и более умный для использования с Twitter?

Кроме того, у меня есть твиттер ajax, и он отображает заполнители вопросительных знаков. Каковы они, и может ли регулярное выражение избавиться от них?

Это мой код

function format_tweet($str) 
    {
$formatted_text = preg_replace('/(\b(www\.|http\:\/\/)\S+\b)/', "<a target='_blank' href='$1'>$1</a>", $str);
$formatted_text = preg_replace('/\#(\w+)/', "<a target='_blank' href='http://search.twitter.com/search?q=$1'>#$1</a>", $formatted_text);
$formatted_text = preg_replace('/\@(\w+)/', "<a target='_blank' href='http://twitter.com/$1'>@$1</a>", $formatted_text);
return $formatted_text;
}

Спасибо, Ричард

1 Ответ

1 голос
/ 20 июня 2010

Попробуйте:

$formatted_text = preg_replace('/(?:^|\s)[#](\w+)/', "<a target='_blank' href='http://search.twitter.com/search?q=$1'>#$1</a>", $formatted_text);
$formatted_text = preg_replace('/(?:^|\s)[@](\w+)/', "<a target='_blank' href='http://twitter.com/$1'>@$1</a>", $formatted_text);

Что касается вопросительных знаков, я понятия не имею. Может быть, я смогу помочь, если вы отправите код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...