OK. Поэтому я создаю функцию, которая будет анализировать bb-кодированную строку в html. Структура ссылки BBCode выглядит так:
[url=http://somelink.com/]Link[/url]
И я хочу сделать это:
<a href="http://somelink.com/">Link</a>
Но я также хочу проверить, действительна ли ссылка, чтобы защитить себя от XSS. Я нашел это регулярное выражение, чтобы проверить правильность ссылки:
/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
А теперь я попытался preg_match_all совпадения $ str и foreach, чтобы проверить, действителен ли его URL, а затем проанализировать его в html, но, похоже, я не могу этого сделать. Есть предложения?