Regex http / www для ссылок - PullRequest
1 голос
/ 07 февраля 2009

Как будет выглядеть регулярное выражение, при котором текст, начинающийся с http или www, будет кликабельным?

Мой текущий bbcode:

function bbcode($text) {
$text = htmlspecialchars($text);
$text = nl2br($text);

$find = array(
              "'\[b\](.*?)\[/b\]'is",
              "'\[i\](.*?)\[/i\]'i",
              "'\[url\](.*?)\[/url\]'i"
              );

$replace = array(
              "\\1",
              "\\1",
              "\\1"
                );

$text = preg_replace($find, $replace, $text);

return $text;
}

Как видите, я использую [url] ссылку [/ url] для ссылок банкомата.

Заранее спасибо.

P.S. HTML в массиве замены не будет отображаться ...

1 Ответ

4 голосов
/ 07 февраля 2009

Вот хороший простой способ:

Find: (http://[^ ]+)
Replace: <a href="\\1">\\1</a>

Find: (www\.[a-zA-Z0-9\-]\.[^ ]+)
Replace: <a href="\\1">\\1</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...