У меня есть следующая строка:
$str = '#hello how are #you and #you and #you';
Я хотел бы обернуть некоторые html вокруг тех, у которых есть хеш-тег перед ними, например:
echo preg_replace("/#([A-Za-z0-9_]+)(?= )/", "<a href='http://url.com/$1'>$0</a>", $str);
Который выдаст:
# привет как дела # вы и # вы и # вы
Обратите внимание, что каждая URL-ссылка не имеет хеш-тега в ссылке.
Однако, это моя проблема, потому что в конце последнего # нет пробела. Вы не соответствует регулярному выражению и, очевидно, не включены. Я не уверен, что делать на самом деле, так как некоторые могут иметь пробелы после, а некоторые нет, но я не хочу включать пробел в вывод (отсюда (? =)), Но я не знаю что еще можно сделать.
Любая помощь будет принята с благодарностью.
Заранее спасибо