Как я могу получить полное имя с помощью регулярных выражений, например, @ test-user - PullRequest
0 голосов
/ 22 апреля 2020

Вот мой код:

$send_message = preg_replace('/@(\w+).*?|<=+/u', "<a href='#'>@$1 </a>", 
$get_original_message);

Но проблема в следующем:

  1. Когда я ввожу @testuser -> Работает нормально
  2. Когда я введите @test_user -> он работает нормально
  3. Но когда я ввожу @test-user -> его взять только «тест», но мне нужен «тест-пользователь» Может кто-нибудь, пожалуйста, помогите мне в этом
  4. Вы можете использовать онлайн-редактор https://regex101.com/

1 Ответ

1 голос
/ 22 апреля 2020

В регулярном выражении знак \ w не принимает символ da sh. А с другой стороны, обычно в именах пользователей в начале и конце слова символ da sh не допускается. Таким образом, мы можем изменить регулярное выражение таким образом, чтобы оно принимало символы Da sh:

@(\w+-*\w*).*?|<=+

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...