• 技术文章 >php教程 >php手册

    非常实用的PHP代码片段

    2016-05-25 16:44:52原创390
    从网页中提取关键词,从指定页面中提取关键词并显示出来,代码如下:

    得到页面中所有的链接,下面代码可以使用 PHP DOM 获取指定页面中的所有链接,仅作抛砖引玉,具体使用自由发挥,代码如下:

    loadHTML($html);
    $xpath = new DOMXPath($dom);
    $hrefs = $xpath->evaluate("/html/body//a");
    for ($i = 0; $i < $hrefs->length; $i++) {
        $href = $hrefs->item($i);
        $url = $href->getAttribute('href');
        echo $url . '
    '; } ?>

    自动把页面中的 URL 转换成可点击的超链接,如果你发表一些文章或者做一些页面,要想放上一个超链接,必须编写一个 a 标签。使用下面这段代码可以方便的将 URL 转换成超链接输出,实现方法比较简单,大体思路就是用正则匹配出来 URL 然后处理输出超链接,代码如下:

    $url" . $ret;
    }
    function _make_web_ftp_clickable_cb($matches) {
        $ret = '';
        $dest = $matches[2];
        $dest = 'http://' . $dest;
        if (emptyempty($dest)) return $matches[0];
        if (in_array(substr($dest, -1) , array(
            '.',
            ',',
            ';',
            ':'
        )) === true) {
            $ret = substr($dest, -1);
            $dest = substr($dest, 0, strlen($dest) - 1);
        }
        return $matches[1] . "$dest" . $ret;
    }
    function _make_email_clickable_cb($matches) {
        $email = $matches[2] . '@' . $matches[3];
        return $matches[1] . "$email";
        }
        function make_clickable($ret) {
            $ret = ' ' . $ret;
            $ret = preg_replace_callback('#([s>])([w]+?://[wx80-xff#$%&~/.-;:=,?@[]+]*)#is', '_make_url_clickable_cb', $ret);
            $ret = preg_replace_callback('#([s>])((www|ftp).[wx80-xff#$%&~/.-;:=,?@[]+]*)#is', '_make_web_ftp_clickable_cb', $ret);
            $ret = preg_replace_callback('#([s>])([.0-9a-z_+-]+)@(([0-9a-z-]+.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret);
            $ret = preg_replace("#(]+?>|>))]+?>([^>]+?)#i", "$1$3", $ret);
            $ret = trim($ret);
            return $ret;
        }
    ?>

    用 PHP 生成 Data URI 代码,通常把图片编码成 Data URI 格式用在网页中来减少 HTTP 请求来提升前端性能,同时还有一些其他的用途,下面代码可以将文件编码成 Data URI,代码如下:

    将远程图片下载到本地服务器,特别是转载文章等,为了防止对方网站关掉而导致图片丢失,通常会在发表文章的时候,将远程服务器上的图片下载到本地服务器上,下面代码简单的实现了这个需求,更多的储存位置、遍历链接还需要你自己自定义,代码如下:

    $image = file_get_contents('http://www.phprm.com/logo.gif'); 
    file_put_contents('/images/logo.gif', $image);

    去掉文中的无用标签,当从一些文本编辑器(例如 Word)中将文本复制到网页编辑器中时,可能会有一些额外的无用标签,例如一些指定文字样式的 style 等,下面代码可以通过正则匹配来去掉这些无用标签,净化文本,代码如下:

    ]*>", "", $html);
            // 然后再运行两遍去掉无用属性
            $html = ereg_replace("<([^>]*)(class|lang|style|size|face)=(\"[^\"]*\"|\'[^\']*\'|[^>]+)([^>]*)>", "<1>", $html);
            $html = ereg_replace("<([^>]*)(class|lang|style|size|face)=(\"[^\"]*\"|\'[^\']*\'|[^>]+)([^>]*)>", "<1>", $html);
            return $html
        }
    ?>


    本文链接:

    收藏随意^^请保留教程地址.

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php代码片段 php实用代码
    上一篇:php实现301永久重定向和302临时重定向方法 下一篇:淘宝IP地址库API接口(PHP)通过ip获取地址信息

    相关文章推荐

    • 敲-PHP与MySQL,JSON,-phpmysqljson• dedecms5.7 联动类型无法显示• PHP生成HTML静态页面• PHP SOAP服务器端C#客户端• 深入Nginx + PHP 缓存详解

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网