获取url中部份内容代码

 更新时间:2016年11月25日 15:55  点击:1397

function getpath($url)
{
$path = parse_url($url,php教程_url_path);
$lastslash = strrpos($path,"/");
return substr($path,1,$lastslash-1);
}
 
echo getpath("http://www.111cn.net/blog/entry-title/?standalone=1");

//

 代码如下 复制代码
function getpathurl() { 
    $folder = explode('/', $_server['script_name']);
    $script_filename = pathinfo($_server['script_name']);
    $request = explode('/', $_server['request_uri']);
    array_shift($folder);
    array_shift($request);
    $final_request = array_diff($request, array_intersect($folder, $request));
    $final_request = array_values($final_request);
    array_clean($final_request);
    $final_request = implode('/', $final_request);
    if ($_server['query_string'] || substr($final_request, -1) == '?') {
        $final_request = substr($final_request, 0, - strlen($_server['query_string']) - 1);
    }
    return $final_request;
}


 

 代码如下 复制代码
function httpget( $url, $followredirects=true ) {
global $final_url;
$url_parsed = parse_url($url);
if ( empty($url_parsed['scheme']) ) {
    $url_parsed = parse_url('http://'.$url);
}
$final_url = $url_parsed;
 
$port = $url_parsed["port"];
if ( !$port ) {
    $port = 80;
}
$rtn['url']['port'] = $port;
 
$path = $url_parsed["path"];
if ( empty($path) ) {
    $path="/";
}
if ( !empty($url_parsed["query"]) ) {
    $path .= "?".$url_parsed["query"];
}
$rtn['url']['path'] = $path;
 
$host = $url_parsed["host"];
$foundbody = false;
 
$out = "get $path http/1.0 ";
$out .= "host: $host ";
$out .= "user-agent:      mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1) gecko/20061010 firefox/2.0 ";
$out .= "connection: close ";
 
if ( !$fp = @fsockopen($host, $port, $errno, $errstr, 30) ) {
    $rtn['errornumber'] = $errno;
    $rtn['errorstring'] = $errstr;
 
}
fwrite($fp, $out);
while (!@feof($fp)) {
 
    $s = @fgets($fp, 128);
    if ( $s == " " ) {
        $foundbody = true;
        continue;
    }
    if ( $foundbody ) {
        $body .= $s;
    } else {
        if ( ($followredirects) && (stristr($s, "location:") != false) ) {
            $redirect = preg_replace("/location:/i", "", $s);
            return httpget( trim($redirect) );
        }
        $header .= $s;
    }
}
 
fclose($fp);
 
return(trim($body));

<?php教程
session_start();
//==========================
//作者:biyuan
//时间:2006.07
//联系:qq6010707
//==========================
?>
<html>
<head>
<title>碧原网络php教程+access文章管理系统</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<style type="text/css教程">
body {
margin:0px;
text-align:center;
font-size:12px;
font-family:verdana;
}
td {
font-size:12px;
height:28px;
padding:4px;
font-family:verdana;
}
a:link,
a:visited,
a:active {
color: #005a17; text-decoration: none;
}
a:hover {
color: #ff5a00; text-decoration: underline;
}
</style>
</head>
<body>
<?php
//==================================
//连接数据库教程
//==================================
@$conn = new com("adodb.connection");
$conn->open("driver={microsoft access driver (*.mdb)}; dbq=" . realpath("article.mdb"));
//==================================
//文章导航
//==================================
function article_menu(){
global $conn;
@$sql = "select * from list";
@$rs = $conn->execute($sql);
while(!$rs->eof){
echo "| <a href="?classid=" . $rs->fields[2]->value . "">" . $rs->fields[1]->value . "</a> ";
$rs->movenext();
}
echo "| <a href="?admin=login">后台管理</a> ";
$rs->close();
if(@$_session["articleadmin"] == "by_php_article"){
echo "<br />管理选项-> | <a href="?admin=class">分类管理</a> | <a href="?admin=insert">发表文章</a> | <a href="?admin=list">文章列表</a> | <a href="?admin=logout">退出登陆</a>";
}
}
//==================================
//文章列表:article_list(文章分类id)
//==================================
function article_list($str){
global $conn;
@$sql = "select id,by_title,by_name,by_time,by_count from article where by_class = " . $str . " order by id desc";
@$rs = $conn->execute($sql);
if(!$rs->eof){
echo "<table border="0" cellspacing="1" cellpadding="0" bgcolor="#cccccc"> "
. " <tr bgcolor="#f3f3f3" align="center"> "
. " <td>文章标题</td><td>文章作者</td><td>发表时间</td><td>浏览次数</td> "
. " </tr> ";
while(!$rs->eof){
echo " <tr bgcolor="#ffffff"> "
. " <td><a href="?artid=" . $rs->fields[0]->value . "">" . $rs->fields[1]->value . "</a></td><td>" . $rs->fields[2]->value . "</td><td>" . date("y-m-d h:i:s",$rs->fields[3]->value) . "</td><td>" . $rs->fields[4]->value . "</td> "
. " </tr> ";
$rs->movenext();
}
echo "</table> ";
}
else {
echo "<br />该分类不存在或暂时没有任何文章!";
}
$rs->close();
}
//==================================
//文章详细:article_look(文章id)
//==================================
function article_look($str){
global $conn;
@$sql = "select * from article where id = " . $str;
@$rs = $conn->execute($sql);
@$usql= "update article set by_count = (by_count + 1) where id = " . $str;
$conn->execute($usql);
if(!$rs->eof){
@$body = $rs->fields[5]->value;
$body = str_replace("[url=file://%22,%22%22,$body/]\","",$body[/url]);
echo "<table border="0" width="60%" cellspacing="1" cellpadding="0" bgcolor="#cccccc"> "
. " <tr bgcolor="#f3f3f3" align="center"> "
. " <td style="font-size:14px;font-weight:bold">" . $rs->fields[1]->value . "</td> "
. " </tr> "
. " <tr bgcolor="#f3f3f3" align="center"> "
. " <td>文章作者:" . $rs->fields[2]->value . " | 发表时间:" . date("y-m-d h:i:s",$rs->fields[3]->value) . " | 浏览次数:" . $rs->fields[4]->value . "</td> "
. " </tr> "
. " <tr bgcolor="#ffffff"> "
. " <td>" . $body . "</td> "
. " </tr> "
. " <tr bgcolor="#f3f3f3"> "
. " <td align="right">【 <a href="javascript教程:history.back();">返 回</a> 】 【 <a href="javascript教程:print();">打 印</a> 】 【 <a href="javascript:close();">关 闭</a> 】</td> "
. " </tr> "
. " </table> "
. " <script language="javascript">document.title += "--" . $rs->fields[1]->value . "";</script> ";
}
else {
echo "<br />该文章不存在或已被管理员删除!";
}
$rs->close();

//string ereg_replace ( string $pattern , string $replacement , string $string )
/*
修改后的字符串返回。如果没有找到匹配的字符串,那么将返回不变
*/

//实例

 代码如下 复制代码
$string = "this 111cn.net a test";
echo str_replace(" 111cn.net", " was", $string);
echo ereg_replace("( )111cn.net", "\1was", $string);
echo ereg_replace("(( )111cn.net)", "\2was", $string);

/*
有一点要注意的是,如果你使用一个整数参数值作为替代,您可能不会得到你期望的结果。这是因为ereg_replace()将解释为一个字符值序数,并套用。例如
*/

 代码如下 复制代码

$num = 4;
$string = "this string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* output: 'this string has   words.' */

/* this will work. */
$num = '4';
$string = "this string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string;   /* output: 'this string has 4 words.' */

//来看一个用ereg_replace获取连接代码

 代码如下 复制代码
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     "<a href="\0">\0</a>", $text);


//取字符串中一部份

 代码如下 复制代码
$output = ereg_replace("your regexp here", "<font color=red>\0</font>", $input) ;
print $output;

//再来看一个更复杂的实例

 代码如下 复制代码
function strip_urls($text, $reppat)
{
    if(!$reppat){
        $reppat = "text [url]";
    }
    $aimps教程tr = 'php教程_strip_urls_function_by_real-php-geek';
    //change $aimps教程tr to anything you want.
    $impstr = md5($aimpstr);
    $text = str_replace('</a>', '</a>' . $impstr, $text);
    $text = explode($impstr, $text);
    $n = 0;
    $texta = array();
    $reppat = str_ireplace(array('text', 'url'), array('\4', '\2'), $reppat);
    foreach ($text as $text) {
        $texta[$n] = ereg_replace("<a(.*)href="(.*)"(.*)>(.*)</a>", $reppat, $text);
        $n++;
    }
    $textb = implode("</a>", $texta);
    return $textb;
}

//examples:

 代码如下 复制代码
$string_of_text = '<a href="http://www.111cn.net/">php</a> rocks. <a href="http://www.111cn.net/">网页制作教程教程</a> also!';
echo strip_urls($string_of_text, "text");
echo strip_urls($string_of_text, "url");
echo strip_urls($string_of_text, "text [url]");
echo strip_urls($string_of_text, null);

/*
说明:
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。

replacement 可以包含 \n 形式或(自 php 4.0.4 起)$n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第 n 个被捕获的括号内的子模式所匹配的文本。n 可以从 0 到 99,其中 \0 或 $0 指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从 1 开始)以取得子模式的数目。

对替换模式在一个逆向引用后面紧接着一个数字时(即:紧接在一个匹配的模式后面的数字),不能使用熟悉的 \1 符号来表示逆向引用。举例说 \11,将会使 preg_replace() 搞不清楚是想要一个 \1 的逆向引用后面跟着一个数字 1 还是一个 \11 的逆向引用。本例中的解决方法是使用 ${1}1。这会形成一个隔离的 $1 逆向引用,而使另一个 1 只是单纯的文字。

*/

 

//用正则过滤html标签

 代码如下 复制代码
$html_body ="<a href='#'>www.111cn.net</a>";
preg_replace("/(</?)(w+)([^>]*>)/e",
             "'\1'.strtoupper('\2').'\3'",
             $html_body);


   
//用php教程自带函数strip_tags

 代码如下 复制代码
echo strip_tags("hello <b>world!www.111cn.net</b>");

//用户自定义

 代码如下 复制代码
function filterhtml($str) {
        $str=eregi_replace("</*[^<>]*>", '', $str);
        $str=str_replace(" ", '', $str);
        $str=str_replace(" ", '', $str);
        $str=str_replace(" ", '', $str);
        $str=str_replace("::", ':', $str);
        $str=str_replace(" ", '', $str);
   //$str=str_replace("&nbsp;", '', $str);
        return $str;
}

//其它可能对你有用的方法

1,过滤所有html标签的正则表达式:

 代码如下 复制代码
</?[^>]+>

2,过滤所有html标签的属性的正则表达式:

 代码如下 复制代码
$html = preg_replace("/<([a-za-z]+)[^>]*>/","<\1>",$html);

3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>):

 代码如下 复制代码
</?[^pp/>]+>

4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等):

 代码如下 复制代码
</?[aappbb][^>]*>

5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):

 代码如下 复制代码
s(?!alt)[a-za-z]+=[^s]*

6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):

 代码如下 复制代码
(s)alt=[^s]*

 

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24