非常实用的PHP代码片段
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-03 14:49:16 浏览: 评论:0
从网页中提取关键词,从指定页面中提取关键词并显示出来,代码如下:
- $meta = get_meta_tags('http://www.phpfensi.com/');
- $keywords = $meta['keywords'];
- // 分割关键词
- $keywords = explode(',', $keywords );
- // 整理
- $keywords = array_map( 'trim', $keywords );
- // 去掉空内容
- $keywords = array_filter( $keywords );
- print_r( $keywords );
得到页面中所有的链接,下面代码可以使用 PHP DOM 获取指定页面中的所有链接,仅作抛砖引玉,具体使用自由发挥,代码如下:
- $html = file_get_contents('http://www.phpfensi.com');
- $dom = new DOMDocument();
- @$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.'<br />';
- }
自动把页面中的 URL 转换成可点击的超链接,如果你发表一些文章或者做一些页面,要想放上一个超链接,必须编写一个 a 标签。使用下面这段代码可以方便的将 URL 转换成超链接输出,实现方法比较简单,大体思路就是用正则匹配出来 URL 然后处理输出超链接,代码如下:
- function _make_url_clickable_cb($matches) {
- $ret = '';
- $url = $matches[2];
- if ( emptyempty($url) )
- return $matches[0];
- // 去掉 URL 后面的标点符号
- if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {
- $ret = substr($url, -1);
- $url = substr($url, 0, strlen($url)-1);
- }
- return $matches[1] . "<a href="$url" rel="nofollow">$url</a>" . $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] . "<a href="$dest" rel="nofollow">$dest</a>" . $ret;
- }
- function _make_email_clickable_cb($matches) {
- $email = $matches[2] . '@' . $matches[3];
- return $matches[1] . "<a href="mailto:$email">$email</a>";
- }
- function make_clickable($ret) {
- $ret = ' ' . $ret;
- $ret = preg_replace_callback('#([s>])([w]+?://[w\x80-\xff#$%&~/.-;:=,?@[]+]*)#is', '_make_url_clickable_cb', $ret);
- $ret = preg_replace_callback('#([s>])((www|ftp).[w\x80-\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("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
- $ret = trim($ret);
- return $ret;
- }
用 PHP 生成 Data URI 代码,通常把图片编码成 Data URI 格式用在网页中来减少 HTTP 请求来提升前端性能,同时还有一些其他的用途,下面代码可以将文件编码成 Data URI,代码如下:
- function data_uri($file, $mime) {
- $contents=file_get_contents($file);
- $base64=base64_encode($contents);
- echo "data:$mime;base64,$base64";
- }
将远程图片下载到本地服务器,特别是转载文章等,为了防止对方网站关掉而导致图片丢失,通常会在发表文章的时候,将远程服务器上的图片下载到本地服务器上,下面代码简单的实现了这个需求,更多的储存位置、遍历链接还需要你自己自定义,代码如下:
- $image = file_get_contents('http://www.phpfensi.com/logo.gif');
- file_put_contents('/images/logo.gif', $image);
去掉文中的无用标签,当从一些文本编辑器(例如 Word)中将文本复制到网页编辑器中时,可能会有一些额外的无用标签,例如一些指定文字样式的 style 等,下面代码可以通过正则匹配来去掉这些无用标签,净化文本,代码如下:
- function cleanHTML($html) {
- // 首先去掉无用的标签(可以自定义更多需要清除的标签)
- $html = ereg_replace("<(/)?(font|span|del|ins)[^>]*>","",$html);
- // 然后再运行两遍去掉无用属性
- $html = ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<1>",$html);
- $html = ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<1>",$html);
- return $html
- }
Tags: PHP代码片段 PHP实用代码
相关文章
- ·非常有用的9个PHP代码片段(2019-10-04)
- ·9个比较实用的php代码片段(2019-11-18)
- ·9个经典的PHP代码片段分享(2021-05-04)
- ·9个实用的PHP代码片段分享(2021-05-08)
- ·10个超级有用值得收藏的PHP代码片段(2021-05-08)
- ·6个超实用的PHP代码片段(2021-06-16)
- ·10个超级有用的PHP代码片段果断收藏(2021-06-18)
- ·又十个超级有用的PHP代码片段(2021-06-19)
- ·19个超实用的PHP代码片段(2020-10-28)
- ·必须收藏的23个php实用代码片段(2021-07-07)
- ·必须收藏的php实用代码片段(2021-07-07)
- ·9个比较实用的php代码片段(2021-07-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)