<?
//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 //方法二数组长度 |
/*
总结一下:
方法一用了php内部函数end,这个方便快捷,
方法二用了count统计数组长度再减一,得出相对应的值。
本站原创文章www.111cn.net
*/
?>
代码如下:
//获得当前的脚本网址
function GetCurUrl()
{
if(!empty($_SERVER["REQUEST_URI"]))
{
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}
else
{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"]))
{
$nowurl = $scriptName;
}
else
{
$nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
}
return $nowurl;
}
另一个是PHP替换网址中query部分的某变量的值比如 ,我们要设$url中的key=321;
其实有几种情况:
$url='www.111cn.net/a.php教程?key=330′;
或$url='www.111cn.net/a.php;
或$url='www.111cn.net/a.php?cat=2′;
等等。虽然情况很多,但PHP处理起来非常简单,如下:
复制代码 代码如下:
/* 将URL中的某参数设为某值*/ //【这一段就挺好啊】
function url_set_value($url,$key,$value)
{
$a=explode('?',$url);
$url_f=$a[0];
$query=$a[1];
parse_str($query,$arr);
$arr[$key]=$value;
return $url_f.'?'.http_build_query($arr);
}
不过我的替换是这样写的。。当然也很烂 。。
这是个获取文章内容中所有链接的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教程
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() . " "; ?> |