php 正则 分隔,PHP分隔字符串的正则表达式使用

本人PHP基础很薄弱,在此记录一些平时搜到且能使用的一些方法,一为记录二为分享。

【SEO优化篇】

需求:根据网站keywords关键词分割成数组,并实现随机展现,实现一个页面每次刷新都会得到不同的url关键词展示

实现:我网站的构成由两大部分,动态新闻页+单页面构成,每个分类都包含几个独立的SEO信息字段,以此匹配不同页面的不同关键词。

代码(TP3框架):

1、先获取两大类分类数据:

$page = $PM->field('id,title,listorder,seo_title')->order('listorder DESC')->select();

//判断是否有子菜单 单页面数据库没有设置子菜单选项,暂时无需做判断,仅重写typedir字段,避免空值

if ($page) {

foreach ($page as $k => $v) {

$page[$k]['typedir'] = empty($v['typedir'])?$PY->getAllPY($v['title']):$v['typedir'];//$Py为汉字转中文类,各位自行网上搜索

$page[$k]['seo_title'] = empty($v['seo_title'])?$v['title']:$v['seo_title'];//判空,避免结果为空

$page[$k]['sort'] = $v['by'];

}

}$category = $CM->field('id,title,typedir,sort,seo_title')->where(array('pid'=>'0'))->order('sort DESC')->select();

if ($category) {

foreach ($category as $k => $v) {

$category[$k]['seo_title'] = empty($v['seo_title'])?$v['title']:$v['seo_title'];

$category[$k]['typedir'] = empty($v['typedir'])?$v['title']:$v['typedir'];

}

}

2、重新排序根据sort字段DESC,这样后台可以控制每个栏目显示的位置$list_nav = array_merge($page,$category);

//重新根据sort排序数组

$index=array();

if ($list_nav) {

foreach ($list_nav as $key => $v) {

$index[$key]=$v['sort'];

}

}

array_multisort($index,SORT_DESC,$list_nav);

3、分割标题为数组#先获取标题数组,过滤字符

$seo_title = array();

if ($list_nav) {

$pattern="/[\\|\\.,-\\/\\\_]/"; //注意分隔符需要是英文符号

foreach ($list_nav as $k => $v) {

if ($v['id'] != 3) {

$seo_title[$k]['title'] = preg_split($pattern,$v['seo_title']);

$seo_title[$k]['typedir']=$v['typedir'];

}

}

}

4、随机生成导航标题if ($seo_title) {

foreach ($seo_title as $k => $v) {

$id = array_rand($v['title']); //通过array_rand函数随机获取数组序号

$seo_title[$k]['navtitle']=$v['title'][$id]; //再根据序号获取对应的内容

}

}5、最终的数据已经实现,剩下的就是模板页调用了,typedir为栏目url,navtitle为标题名称,这样就实现了每次刷新都获取不同的关键词名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值