php利用正则获取指定位置内容

我们经常会碰以要获取一个字符串指定部份的内容,下面我们用正则匹配来获取下一页的url怎么样,代码如下:

  1. $str = 'ht
  2. <td align=right>
  3. <a href=http://www.phpfensi.com/>第一页</a>&nbsp;&nbsp;& nbsp;&nbsp;<a href=http://down.phpfensi.com/index_2.html>上一页</a>&nbsp;& nbsp;&nbsp;&nbsp;<a href=http://mb.phpfensi.com/index_4.html>下一页</a>
  4. ';
  5. preg_match_all('/<a[^>]*href=([^>]*)>下一页</a>/is', $str, $matches);
  6. print_r($matches[1]);
  7. //方法二,代码如下:
  8. preg_match('/<a href=(.*)[/s]*>下一页</a>/u', $s, $arr);

正则表达式到底是什么东西?

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码.

很可能你使用过windows/dos下用于文件查找的通配符(wildcard),也就是*和?,如果你想查找某个目录下的所有的word文档的话,你会搜索*.doc,在这里,*会被解释成任意的字符串,和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号"-",最后是7或8位数字的字符串(像010-12345678或0376-7654321).