为了账号安全,请及时绑定邮箱和手机立即绑定

如何在字符串中搜索用户名?

如何在字符串中搜索用户名?

PHP
慕姐8265434 2022-09-30 16:18:14
我想要以下内容:我有一个字符串,我想从数据库中搜索该字符串中的用户名,例如:"Dear user, xy xy xy, Kind Regards, me"而且,我想从数据库中查找字符串中的所有用户名,并将其替换为链接,例如(函数的输出):"Dear <a href="link.php?user=user">user</a>, xy xy xy, Kind Regards, <a href="link.php?user=me">me</a>"要检查所有用户名,我会使用红豆PHP:$alluser = R::getAll('SELECT * FROM user')我刚刚为它创建了一个代码:function mention($string) {    $alluser = R::getAll('SELECT * FROM user');    foreach ($alluser as $user) {        //The Regular Expression filter        $reg_exUrl = "/".$user['username']."/";        if (preg_match_all($reg_exUrl, $string, $usernames)) {            foreach ($usernames as $username) {                $search = $username;                $replace = '<a href="user.php?tmpid='.$user['tmpid'].'">' . $user['username'] . '</a>';                $string = str_replace($search, $replace, $string);                if (strlen($allmention) > 0) {                    $spacecomma = ", ";                } else $spacecomma = "";                $allmention .= $spacecomma . $user['tmpid'];            }        }    }    return $string;}引发以下错误:Fatal error: Uncaught ArgumentCountError: Too few arguments to function mention(), 0 passed in xyz.php on line 65 and exactly 1 expected in xyz.php:34 Stack trace: #0 xyz.php(65): mention() #1 {main} thrown in xyz.php on line 34
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

您的错误与您发布的代码无关。错误出在调用该函数的代码中。它应该被称为像mention

$result_string = mention($initial_string)

但判断是错误,它被称为像

$result_string = mention()


查看完整回答
反对 回复 2022-09-30
?
MYYA

TA贡献1868条经验 获得超4个赞

如果您从数据库获取数组,则可以使用foreach来检索每个用户名以生成消息。


查看完整回答
反对 回复 2022-09-30
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信