превращение хештегов в ссылки, но игнорирование идентификаторов фрагментов URL

Я делаю preg_replace чтобы превратить хэштеги в URL, используя следующий RegEx:

#([^0-9_\s\W][\p{L}0-9]{2,})

Проблема в том, что также включаются идентификаторы фрагментов URL. Как я могу исключить их, улучшив этот RegEx? Также каждая строка может или не может быть в пределах <p> теги.

Я ценю ваш ответ.

0

Решение

Этот сделал работу:

(?<=\W)#(\w+)

http://www.phpliveregex.com/p/b1u

0

Другие решения

Я считаю, что вы хотите исключить такой текст из совпадений:

http://stackoverflow.com/questions/29996848#question-header
\______________/

Простым решением было бы потребовать символ пробела перед #, что легко сделать с помощью вида сзади:

(?<=\s|^)#([^\d_\s\W][\p{L}\d]{2,})

демонстрация.

0