php - 防止或跳过符号和实体的渲染 Laravel / PHP
问题描述
我的控制器中有这个功能:
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();
}
它的作用是实时搜索结果,列出与您键入字母相同的确切结果。与每次输入字母时的谷歌搜索栏相同。它将显示与当前键入的文本相同的结果。我希望添加可以防止呈现<
, >
,等的安全功能'
,"
但它会接受空格(空格键)字符。到目前为止我所做的是:
$sanitizedQuery = strtolower(trim(preg_replace('/\s+/', '', $query)));
但我似乎无法达到我想要的结果。任何建议都受到高度赞赏。
解决方案
推荐阅读
- express - 使用 express 错误处理程序有什么好处?
- node.js - 如何使用 NodeJS websocket 在 websocket 服务器上创建多个通道?
- python - 读取 .blf CAN 文件的标头
- python - 如何让 Python csv.writer 和 csv.writerows 写入下一行,而不是覆盖以前的单元格?
- c# - 反序列化没有属性名称的 JObject
- java - 如何在 BlueJ 中向 Java JFrame 添加音频?
- spring-kafka - 消费者未收到 Spring Cloud 流绑定器 Kafka 自定义标头
- javascript - 当“node_modules”退出时,“npm install”是什么?
- qt - 如何将 QPaintedTextureImage 加载到 QTextureMaterial 中?
- r - 如何识别R中具有重复值的列的名称