php中正则获取url函数preg_match

下面利用preg_match举了两个实例一个是获取指定区域内容,一个是获取内容中的url地址.

实例一:获取指定区域内容

  1. */
  2. $string="<b>example:</b><div align=left>this is a test</div>"; //定义字符串
  3. $pattern="|<[^>]+>(.*)</[^>]+>|u"; //定义正则表达式模式
  4. /*该匹配模式的意义是:以"<"开头后面跟1到多个不为">"的字符加上结尾内容;子模式中的".*"表示0到多个任意字符,再加上以"<"开头后面跟1到多个不为">"的字符加上">"符号。*/
  5. preg_match_all($pattern,$string,$out,preg_pattern_order); //进行preg_mathc_all处理
  6. echo $out[0][0];
  7. echo ",";
  8. echo $out[0][1];
  9. echo "<p>";
  10. echo $out[1][0];
  11. echo ",";
  12. echo $out[1][1];

实例二:以下代码用于提取域名

  1. $http="http://www.phpfensi.com"; //定义网址
  2. preg_match("/^(http://)?([^/]+)/i",$http,$matches); //进行正则表达式匹配
  3. $host=$matches[2]; //把结果数组元素赋值到变量
  4. preg_match("/[^./]+.[^./]+$/",$host,$matches); //进行正则表达式匹配
  5. echo "domain name is:{$matches[0]}n"; //输出结果域名