Mad_Geek 2017-11-30 05:36 采纳率: 0%
浏览 3453
已采纳

PHP用preg_match_all正则多个关键字怎么写?

语言PHP
想用preg_match_all来正则一个字符串中包含了多此次自定义的标签

例如标签里面有 : 你好、中国、国家、新年、娱乐、程序、羁绊、www.baidu.com
待处理的字符串:阿斯顿TV u有单反啊送分国家v晕车i哦弄请问娱乐哦怕麻烦NSA大佛你程序i哦就拿谁都i那都

然后就是判断字符串是否包含上面的标签,包含了多少个
我现在写出来的中文可以 但是像英文就不行
例如像标签里面的“www.baidu.com”
他不会去匹配字符串里面的 www.baidu.com 而是把 w、b、a、u、c等等这些字符匹配出来了

代码:



$pattaern0='/[你好|中国|国家|新年|娱乐|程序|羁绊|www.baidu.com|google]+/u';
if(preg_match_all($pattaern0,$str,$matches1))
{
var_dump($matches1[0])
}

  • 写回答

8条回答 默认 最新

  • Go 旅城通票 2017-11-30 06:02
    关注

    []改为()

     $pattaern0='/(你好|中国|国家|新年|娱乐|程序|羁绊|www\\.baidu\\.com|google)+/u';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵