在线sql转es dsl
推荐一个在线sql转es dsl的工具,可以将复杂的sql直接转为es检索,非常方便,在线地址:
https://printlove.cn/tools/sql2es/
推荐一个在线sql转es dsl的工具,可以将复杂的sql直接转为es检索,非常方便,在线地址:
https://printlove.cn/tools/sql2es/
如图所示

$html = '测试'; preg_match_all('//i', $html, $matches); var_dump($matches[0][1]);
注:页面无法显示正则代码,请按f12获取选项内容复制
需求:对顶部单元格进行合并,添加统一提示信息,然后在下面导出header和data数据
1、合并单元格,这里用到registerEvents,示例如下
public function registerEvents () : array
{
// TODO: Implement registerEvents() method.
return [
BeforeSheet::class => function(BeforeSheet $event){
$content = "测试内容";//填充内容
$event->sheet->getDelegate()->mergeCells('A1:D2');//要合并的单元格
$event->sheet->getDelegate()->getRowDimension('1')->setRowHeight(20);//设置单元格高度
$event->sheet->getDelegate()->getCell('A1')->setValue($content);//填充单元格
$event->sheet->getDelegate()->getStyle('A1:D1')->getAlignment()->setWrapText(true);
$event->sheet->getDelegate()->fromArray($this->data->toArray(), null, 'A3');
}
];
}
说明:这里是是合并顶部第一、第二行,并填充备注信息
注:需要在Export头部里面引入WithEvents
2、追加内容,这里用到fromArray
示例:
$event->sheet->getDelegate()->fromArray($this->data->toArray(), null, 'A3');//从第几行开始追加,这里需要将数据转为array
3、最终效果如下

更多扩展内容,请参考官方文档:
https://docs.laravel-excel.com/3.1/exports/extending.html
方法一:
$mobile = substr($mobile, 0, 5).'****'.substr($mobile, 9);
方法二:
$mobile = substr_replace($mobile, '****',3, 4);
描述:
array_change_key_case() 函数将数组的所有的键都转换为大写字母或小写字母。
使用:
array_change_key_case(array,case);
参数说明:
array 必需。规定要使用的数组。
case 可选。可能的值:CASE_LOWER - 默认值。将数组的键转换为小写字母。CASE_UPPER - 将数组的键转换为大写字母。
示例:
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
//返回如下
Array
(
[FIRST] => 1
[SECOND] => 4
)
该函数一般配合getallheaders()函数使用,获取所有header内容
例如:
$headers = array_change_key_case(getallheaders(), CASE_LOWER);
更多信息请参考:https://www.php.net/manual/zh/function.array-change-key-case.php