防止或跳过符号和实体的渲染Laravel / PHP

时间:2019-02-18 09:03:23

标签: php laravel laravel-5.7

我的控制器中具有此功能:

if ($request->get('query')) {
    $query = $request->get('query');

    $data = DB::table('users')
        ->where('is_archive', '=', 0)
        ->where(function($string) use ($query) {
            $string->where('first_name', 'LIKE', '%' . $query . '%')
            ->orWhere('last_name', 'LIKE', '%' . $query . '%')
            ->orWhere('church_id', 'LIKE', '%' . $query . '%');
        })
        ->get();
}

它的作用是实时搜索结果,其中列出了与您键入字母相同的确切结果。与Google的搜索栏相同,每次您键入字母时。它将显示与当前键入的文本相同的结果。我希望放置一些安全功能,以防止呈现<>'"等,但是它将接受空格(空格键)字符。到目前为止,我所做的是:

$sanitizedQuery = strtolower(trim(preg_replace('/\s+/', '', $query)));

但是我似乎无法达到我想要的结果。任何建议都将受到高度赞赏。

0 个答案:

没有答案