/**
* 根据伪静态规则关键字返回对应的字段名
* @version 1.0.0 首次引入
* @param string $route 必需;伪静态规则名;空
* @return string 操作名
*/
function cmsUrlRewrite($route='')
{
if( strpos($route,':slug') !== false ){
return 'slug';
}elseif( strpos($route,':name') !== false ){
return 'name';
}
return 'id';
}
/**
* 获取默认地址栏参数
* @version 1.0.0 首次引入
* @param string $sort 可选;排序字段;默认:info_id
* @param string $order 可选;排序方式;默认:desc
* @param string $limit 可选;每页大小;默认:10
* @param string $page 可选;当前分页;默认:1
* @return array 默认地址栏五个参数
*/
function cmsUrlParams($sort='info_id', $order='desc', $limit=10, $page=1)
{
return [
'sort' => htmlspecialchars(input('param.sortName/s',$sort)),
'order' => htmlspecialchars(input('param.sortOrder/s',$order)),
'limit' => input('param.pageSize/d', DcEmpty(config('cms.page_size'),$limit)),
'page' => input('param.pageNumber/d', $page),
'search' => htmlspecialchars(strip_tags(input('param.searchText/s'))),
];
}
/**
* 智能转换内部与外部网址链接
* @version 1.0.0 首次引入
* @param string $url 必需;待验证的网址;默认:空
* @return string 转换后的链接
*/
function cmsUrlCheck($url='')
{
//默认值
$url = DcEmpty($url, 'cms/index/index');
//分解地址栏
$array = parse_url($url);
if($array['scheme']){
return $url;
}
//内部链接
return cmsUrl($array['path'], $array['query']);
}
/**
* 根据伪静态规则返回组合路由的变量字段
* @version 1.0.0 首次引入
* @param string $route 必需;伪静态规则名;空
* @return array 组合查询字段
*/
function cmsUrlCompose($route='')
{
$fields = [];
/*preg_match_all(/'<[A-Za-z]+(\?)?>'/,$route,$item);*/
preg_match_all('/<[termSlug|termId|termName|slug|id|name]+(\?)?>/', $route, $item);
foreach($item[0] as $key=>$field){
$fields[$key] = str_replace(['<','>','?'], '', $field);
}
return $fields;
}