Я делаю preg_replace
чтобы превратить хэштеги в URL, используя следующий RegEx:
#([^0-9_\s\W][\p{L}0-9]{2,})
Проблема в том, что также включаются идентификаторы фрагментов URL. Как я могу исключить их, улучшив этот RegEx? Также каждая строка может или не может быть в пределах <p>
теги.
Я ценю ваш ответ.
Я считаю, что вы хотите исключить такой текст из совпадений:
http://stackoverflow.com/questions/29996848#question-header
\______________/
Простым решением было бы потребовать символ пробела перед #
, что легко сделать с помощью вида сзади:
(?<=\s|^)#([^\d_\s\W][\p{L}\d]{2,})