23
2012
09

php替换函数preg_match()

 写小偷程序经常会需要用到替换函数,而一般学习php经常会看的就是php100的视频了,第16节课,就是讲小偷程序的。

跟着视频,是这么写的eregi('<title>(.*)</title>',$fcontents,$rg);

其中用到的替换函数是eregi函数,不会有问题,但是会有一个警告:Deprecated: Function eregi() is deprecated in ………………。

背过单词的娃,都知道Deprecated是过时的,不推荐使用的意思,不知道的GOOGLE翻译下也知道了。我就上网查了一下,说这个eregi函数在php5.3后就不用这个函数,建议用preg_match();

于是我就改成这样preg_match('<title>(.*)</title>',$fcontents,$rg);发现竟然还不行了,就很不解,不是推荐使用这个么,为什么反而没有用了呢,于是又再去查了一下,一老外的网站上看到英文解释,You need a delimiter at the beginning of the pattern. You're using "/" at the end, so put a "/" before ......................一堆,看了一下,前后加一个/,但是我加上去后,仍然报错

Warning: preg_match(): Unknown modifier 't' in D:\LAMP\Apache2.2\htdocs\learning\Thief\Thief.php on line 8

不过这个应该离问题解决不远了,看一下,未定义的t,再细看了一下,结标签结尾处有一个/,是不是这个把正则表达式切开来了呢?那应该怎么办呢?很快可以想到的一个,就是转义字符了,于是乎,改成这个样子。preg_match('/<title>(.*)<\/title>/',$fcontents,$rg); OK,大功告成,

这就把表题给偷来了。

« 上一篇下一篇 »

相关文章: