1234567891011121314151617181920212223242526272829303132 |
- <?php
- namespace App\Plugins\Request;
- /**
- * ES搜索的时候,过滤掉特殊字符,防止报错
- *
- * Class FilterSpecialCharacter
- * @package App\Plugins\Request
- */
- class FilterSpecialCharacter
- {
- public function handler($column, $requestData, $columnInfo = [])
- {
- $data = $requestData[$column];
- if (is_array($data)) {
- $pattern = '/(\+|-|&|\||!|\(|\)|\{|}|\[|]|\^|"|~|\*|\?|:|;|~|\/)/';
- $replace = '\\\$1';
- foreach ($data as $key => $str) {
- $data[$key] = preg_replace($pattern, $replace, $str);
- }
- } else {
- $pattern = '/(\+|-|&|\||!|\(|\)|\{|}|\[|]|\^|"|~|\*|\?|:|;|~|\/)/';
- $replace = '\\\$1';
- $data = preg_replace($pattern, $replace, $data);
- }
- return $data;
- }
- }
|