php正则链接-取得内容所有链接

 更新时间:2016年11月25日 16:50  点击:2325
下面提供二款关于php正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。

方法一

 代码如下 复制代码
function get_all_url($code){
        preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr);
        return array('name'=>$arr[2],'url'=>$arr[1]);
}


方法二

 代码如下 复制代码

$site=substr($url,0,strpos($url,"/",8));//站点

$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录

$fp = fopen($url, "r" );//打开url

 

while(!feof($fp))$contents.=fread($fp,1024);//

$pattern="|href=['"]?([^ '"]+)['" ]|u";

 

preg_match_all($pattern,$contents, $regarr, preg_set_order);//匹配所有href=

for($i=0;$i<count($regarr);$i++){//遍历所有匹配

if(!eregi("://",$regarr[$i][1]))//是否是相对路径,即是否还有://

if(substr($regarr[$i][1],0,1)=="/")//是否是站点的根目录

   echo "link".($i+1).":".$site.$regarr[$i][1]."<br/>";//根目录

else

   echo "link".($i+1).":".$base.$regarr[$i][1]."<br/>";//当前目录

else

echo "link".($i+1).":".$regarr[$i][1]."<br/>";//相对路径

}

fclose($fp);

 

关于php二维数组定义我就不说多了,很简单的,下面几款实例都是讲关于php 二维数组排序与遍历哦,我们每个实例都是以不同的方法介绍。
 代码如下 复制代码

function multi_array_sort($multi_array,$sort_key,$sort=sort_asc){  
    if(is_array($multi_array)){  
        foreach ($multi_array as $row_array){  
            if(is_array($row_array)){  
                $key_array[] = $row_array[$sort_key];  
            }else{  
                return -1;  
            }  
        }  
    }else{  
        return -1;  
    }  
    array_multisort($key_array,$sort,$multi_array);  
    return $multi_array;  


array(
            array('id'=>1,'data'=>'a'),
            array('id'=>3,'data'=>'c'),
            array('id'=>2,'data'=>'b')
        );

php本身是有一个多维数组排序的函数的。

 代码如下 复制代码

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )


方法二

 

 代码如下 复制代码

<?php
//以时间inputdate为key值进行二维数组降序排列
function array_sort($arr,$keys,$type){
$keysvalue=array();
$i = 0;
foreach($arr as $key=>$val) {
$val[$keys] = str_replace("-","",$val[$keys]);
$val[$keys] = str_replace(" ","",$val[$keys]);
$val[$keys] = str_replace(":","",$val[$keys]);
$keysvalue[] =$val[$keys];

}
asort($keysvalue); //key值排序
reset($keysvalue); //指针重新指向数组第一个
foreach($keysvalue as $key=>$vals) {
$keysort[] = $key;
}
$new_array = array();
if($type != "asc"){
for($ii=count($keysort)-1; $ii>=0; $ii--) {
$new_array[] = $arr[$keysort[$ii]];
}
}else{
for($ii=0; $ii<count($keysort); $ii++){
$new_array[] = $arr[$keysort[$ii]];
}
}
return $new_array;
}
?>

方法三

 代码如下 复制代码

<?php
    $a = array(
       0=>array("id"=>1,"name"=>"小何","addr"=>"0:1"),
       1=>array("id"=>2,"name"=>"小刚","addr"=>"0:1:2"),
       2=>array("id"=>3,"name"=>"小军","addr"=>"0:1:3"),
       3=>array("id"=>4,"name"=>"公司","addr"=>"0:4"),
    );
function sort_by($array, $keyname = null, $sortby){
    $myarray = $inarray = array();
    foreach($array as $i=>$befree){
      $myarray[$i] = $array[$i][$keyname];
    }
    switch($sortby){
       case 'asc':
       asort($myarray);
       break;
       case 'arsort':
       arsort($myarray);
       break;
       case 'natcasesor':
       natcasesor($myarray);
       break;
    }
    foreach($myarray as $key=>$befree){
        $inarray[$key] = $array[$key];
        }
          return $inarray;
}
print_r(sort_by($a,"addr","arsort"));


print_r($a[2]["id"]);
?>

文章为你提供二款php 过滤所有HTML标记哦,他可以过滤所有的html标签啊。

//去除html标记

 代码如下 复制代码
function text2html($txt){
        $txt = str_replace("  "," ",$txt);
        $txt = str_replace("<","&lt;",$txt);
        $txt = str_replace(">","&gt;",$txt);
        $txt = preg_replace("/[ ]{1,}/isu","<br/> ",$txt);
        return $txt;
}

//清除html标记

 代码如下 复制代码
function clearhtml($str){
        $str = str_replace('<','&lt;',$str);
        $str = str_replace('>','&gt;',$str);
        return $str;
}
php有现成的函数getimagesize用于获取图像的尺寸,具体的函数使用方法以及代码示例

<?php教程/* 1.jpg为你想获得其尺寸的图片 */
$arr = getimagesize("1.jpg");
/**
 * 这里$arr为一个数组类型
 * $arr[0] 为图像的宽度
 * $arr[1] 为图像的高度
 * $arr[2] 为图像的格式,包括jpg、gif和png等
 * $arr[3] 为图像的宽度和高度,内容为 width="xxx" height="yyy"
 */
/* 以下两行代码输出的内容都是一样的 */
echo "<img src="1.jpg" $arr[3] alt="" />";
echo "<img src="1.jpg" width="$arr[0]" height="$arr[1]" alt="" />";
?>

<img src="1.jpg" width="xxx" height="yyy" alt="" />
<img src="1.jpg" width="xxx" height="yyy" alt="" />

查看php在线手册

http://www.111cn.net/w3school/php/index.htm

提供一款简单实例的php判断大小写字母函数哦,它可以查找出一个字符串有多少大写字母有多少小写字母哦,是一个很方便的常用函数。
 代码如下 复制代码
  function checkcase($str){
              if(preg_match('/^[a-z]+$/', $str)){
                     echo '小写字母';
              }elseif(preg_match('/^[a-z]+$/', $str)){
                     echo '大写字母';
              }
       }

方法二

 代码如下 复制代码
<?php
$str = 'a';
function checkcase1($str){
    $str = ord($str);
    if($str>64&&$str<91){
        echo '大写字母';
        return;
    }
    if($str>96&&$str<123){
        echo '小写字母';
        return;
    }
    echo '不是字母';
}
function checkcase2($str){
    if(strtoupper($str)===$str){
        echo '大写字母';
    }else{
        echo '小写字母';
    }
}
echo checkcase1($str);
echo checkcase2($str);
?>
[!--infotagslink--]

相关文章

  • jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果

    本文实例讲述了jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果。分享给大家供大家参考,具体如下:这里演示jQuery实现鼠标移动到链接上,滑动展开/隐藏图片效果,鼠标放在“上一页”“下一页”上,立即浮现出所对应的图...2015-10-30
  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • PowerShell读取文件内容、替换文件内容、读取限定行的例子

    这篇文章主要介绍了PowerShell读取文件内容、替换文件内容、读取限定行的例子,本文使用3个例子来说明实现这3个需求的操作技巧,需要的朋友可以参考下...2020-06-30
  • 如何获取百度搜索结果页中解密之后的真实链接

    大家用百度搜索的时候,可能会发现,结果链接用的还是百度的链接,点击之后才会跳转到另外一个页面,另外一个页面的真实链接如何获取到呢?? 通过分析发现: 可以看出,返回...2016-05-19
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • js 正则学习小记之匹配字符串字面量优化篇

    昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
  • ASP.NET中iframe框架点击左边页面链接 右边显示链接页面内容

    这篇文章主要介绍了ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容的实现代码,感兴趣的小伙伴们可以参考一下...2021-09-22
  • OpenResty中正则模式匹配的2种方法详解

    在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
  • 浅谈JS正则RegExp对象

    这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
  • 实例解析jQuery中如何取消后续执行内容

    本文主要介绍了jQuery中取消后续执行内容的实例,代码通俗易懂。需要的朋友来看下吧...2016-12-02
  • python docx的超链接网址和链接文本操作

    这篇文章主要介绍了python docx的超链接网址和链接文本操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-06
  • js innerHTML 改变div内容

    在做ajax无刷新时,我想很多朋友都会知道js innerHTML来更改 div 或table里面的值哦. JavaScript的innerHTML 永远不知道你可以改变的内容,一个HTML元素?也许你要...2016-09-20
  • JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法

    多网站的需要填写的文本框在默认状态下都会给出一个默认的提示语言,当鼠标点击此文本框的时候能够将里面的默认文本清除,当删除输入的文本且焦点离开文本框的时候再将默认的文本写入文本框...2016-01-14
  • 浅谈js正则之test方法bug篇

    其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
  • Python 实现自动获取种子磁力链接方式

    今天小编就为大家分享一篇Python 实现自动获取种子磁力链接方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • JS利用正则配合replace替换指定字符

    替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
  • C++静态链接与动态链接详解

    下面小编就为大家介绍C++静态链接与动态链接。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-10-11
  • 浅谈CMake配置OpenCV 时静态链接与动态链接的选择

    下面小编就为大家带来一篇浅谈CMake配置OpenCV 时静态链接与动态链接的选择。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25