首页 > Web开发 > 详细

php正则表达式问题

时间:2018-07-04 18:04:39      阅读:216      评论:0      收藏:0      [点我收藏+]

问题:

Warning: preg_match(): Unknown modifier ‘/‘ in D:\wwwroot\www.xb.com\t.php on line 6
bool(false) NULL

我的代码:

<?php

$str = ‘‘;
$isMatched = preg_match("/http://www.chinanews.com/gn/2018/07-04/8555660.shtml/", $str, $matches);
var_dump($isMatched, $matches);

问题原因:

上述正则的定界符是斜杠’/’, 所以以此往后找,再找一个斜杠’/’,就结束了,得到的是:  

/http:/

所以,后面跟着的内容:

/www.chinanews.com/gn/2018/07-04/8555660.shtml/

就没法识别了。

 

解决办法是:

1. 把定界符,改为别的,和当前正则表达式中的字符,不会冲突的,比如:

"#/http://www.chinanews.com/gn/2018/07-04/8555660.shtml#";

就可以了。

2. 在定界符内的‘/‘前面加上转义字符‘\‘, 如下

"/http:\/\/www.chinanews.com\/gn\/2018\/07-04\/8555660.shtml/"

 

<?php

$str = ‘‘;
//方法一:
$isMatched = preg_match("#http://www.chinanews.com/gn/2018/07-04/8555660.shtml#", $str, $matches);

//方法二:
// $isMatched = preg_match("/http:\/\/www.chinanews.com\/gn\/2018\/07-04\/8555660.shtml/", $str, $matches);


var_dump($isMatched, $matches);

php正则表达式问题

原文:https://www.cnblogs.com/zhidongjian/p/9264516.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!