我正在尝试在评论文本中找到每个@username的实例并将其替换为链接。以下是我目前的 PHP 代码:
$comment = preg_replace('/@(.+?)\s/', '<a href="/users/${1}/">@${1}</a> ', $comment);
唯一的问题是该正则表达式要求在@用户名引用后面有空格。有人能帮我调整它,使其也能匹配字符串末尾吗?我正在尝试在评论文本中找到每个@username的实例并将其替换为链接。以下是我目前的 PHP 代码:
$comment = preg_replace('/@(.+?)\s/', '<a href="/users/${1}/">@${1}</a> ', $comment);
唯一的问题是该正则表达式要求在@用户名引用后面有空格。有人能帮我调整它,使其也能匹配字符串末尾吗?
$comment = preg_replace('/@(.+?)(?:\s|$)/', '<a href="/users/${1}/">@${1</a>}${2}', $comment);
- animuson(?=\s|$)
对于正则表达式挑战的人来说是一个非常大的帮助!感谢您提供这个技巧。 - Kalle H. Väravas