如何将preg_replace变量检索到外部变量

时间:2018-04-04 16:58:07

标签: php regex

我有一个函数,它使用preg_replace将 @username 检索到变量中,并用链接替换它们。我希望能够获得作为变量的用户名,并在数据库中进行搜索,以查看该用户名是否首先存在,如果存在,则不能替换它。我可以使用preg_replace用链接替换用户名,但是如何在变量中检索它。在下面的示例中,使用preg_replace将用户名成功检索到名为 $ 1 的变量中,但在preg_replace之外不起作用。那么如何在preg_replace之外检索该变量?这是我的代码

function convert_to_username_and_hashtag($msg)
{
    global $lang_abbreviation;
    global $id_lang_nom;


  $final_message = preg_replace(array('/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))/',
  '/(^|[^a-z0-9_])@([a-z0-9_]+)/i', '/(^|[^a-z0-9_])#([a-z0-9_]+)/i'), 
 array("<a href='$1' target='_blank'>$1</a>", "$1<a href='$2'>@$2</a>", "<b>$1</b><a href='pages-afficher-profile.php?hashtag=$2'>#$2</a>"), $msg);

    //Right here i want to retrieve $1 so as to do echo $1 for example 

  return $final_message;
 }

所以基本上我想检索并使用 $ 1 作为preg_replace之外的变量,以便用它来搜索它所代表的用户名。

如何将preg_replace变量检索到外部变量?

0 个答案:

没有答案