首页 > 编程技术 > php

php 匹配url 正则表达式代码

发布时间:2016-11-25 15:55

这是个获取文章内容中所有链接的php正则表达式

$str ="";

 代码如下 复制代码
$reg = "<a[sS]*?(href)s*=s*(?(?=["'])((["'])(?<href>[^"']*))|(?<src>[^s>]+))[sS]*?>";

//下面这个实例是获取内容中域名正则表达式

 代码如下 复制代码
function get_domain($url){
  $pattern = "/[w-]+.(com|net|org|gov|cc|biz|info|cn)(.(cn|hk))*/";
  preg_match($pattern, $url, $matches);
  if(count($matches) > 0) {
   return $matches[0];
  }else{
   $rs = parse_url($url);
   $main_url = $rs["host"];
   if(!strcmp(long2ip(sprintf("%u",ip2long($main_url))),$main_url)) {
    return $main_url;
   }else{
    $arr = explode(".",$main_url);
    $count=count($arr);
    $endArr = array("com","net","org","3322");//com.cn  net.cn 等情况
    if (in_array($arr[$count-2],$endArr)){
     $domain = $arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
    }else{
     $domain =  $arr[$count-2].".".$arr[$count-1];
    }
    return $domain;
   }
  }
 }

 
 //实例
 
 $str ="jfkdlajfdafdjak;www.111cn.net";
 echo get_domain($str)
 
 //得出值为111cn.net
 

<?
//php教程最简单获取数组最后无素值

 代码如下 复制代码
//方法一
$url ='www.111cn.net.cc';
$tmpUrl = explode('.',$url);

//输出temurl看看
print_r($tmpUrl);
/*
结果:

 代码如下 复制代码
Array
(
    [0] => www
    [1] => 111cn
    [2] => net
    [3] => cc
)


*/

//我们来看获取方法一

 代码如下 复制代码

echo end($tmpUrl); //cc

//方法二数组长度
$count = count($tmpUrl);
echo $tmpUrl[$count-1];//cc

/*
总结一下:
方法一用了php内部函数end,这个方便快捷,
方法二用了count统计数组长度再减一,得出相对应的值。
本站原创文章www.111cn.net
*/

?>

<?php教程

function throw_error($message) {
$error_page = "/err/error.php";

$error_url = $error_page;
$error_url .= "?REDIRECT_ERROR_NOTES=$message";
$error_url .= "&REDIRECT_URL=" . $GLOBALS["PHP_SELF"];
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
$error_url .= "&REDIRECT_STATUS=501";
Header("Status: 501");
Header("Location: $error_url");
exit;
}

ob_start();
// 使用输出缓冲以便在这页中的任何地方输出错误

if(!condition) {
throw_error("the condition failed");
}

ob_end_flush();
// 页面处理完毕,刷新输出缓冲

 代码如下 复制代码
<?php
class Foo
{
public static $my_static = 'foo';
public function staticValue() {
return self::$my_static;
}
}
class Bar extends Foo
{
public function fooStatic() {
return parent::$my_static;
}
}
print Foo::$my_static . " ";
$foo = new Foo();
print $foo->staticValue() . " ";
print $foo->my_static . " "; // Undefined "Property" my_static
print $foo::$my_static . " ";
$classname = 'Foo';
print $classname::$my_static . " "; // PHP 5.3.0之后可以动态调用
print Bar::$my_static . " ";
$bar = new Bar();
print $bar->fooStatic() . " ";
?>

 

php教程 遍历对象属性二种方法
/*
本文章下面我们要为你提供二种关于遍历对象属性方法,并且举例说明遍历对象属性在php中的应用。
*/
class foo {
    private $a;
    public $b = 1;
    public $c;
    private $d;
    static $e;
  
    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();


//方法二
class foo {
    private $a;
    public $b = 1;
    public $c='111cn.net';
    private $d;
    static $e;
  
    public function test() {
        var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

//结果如下:
array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  111cn.net
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  111cn.net
  ["d"]=>
  NULL
}

/*
看到上面的结果就遍历对象属性很简单的
*/

?>

标签:[!--infotagslink--]

您可能感兴趣的文章: