検索
ホームページphp教程php手册非常实用的PHP代码片段(重点推荐)

非常实用的PHP代码片段(重点推荐)

Jun 13, 2016 am 09:51 AM
phpコードできる勉強開発する推薦する改善する効率断片使用ネット

网上有很多 PHP 代码片段可以提高开发效率,也可以学习一下其中的技巧而应用在自己的项目中,下面 我爱水煮鱼 就精选了几个比较有用的 PHP 片段。

从网页中提取关键词

从指定页面中提取关键词并显示出来。

 代码如下 复制代码

$meta = get_meta_tags('http://www.bKjia.c0m/');
$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.hzhuti.com');

$dom = new DOMDocument();
@$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");

for ($i = 0; $i length; $i++) {
       $href = $hrefs->item($i);
       $url = $href->getAttribute('href');
       echo $url.'
';
}

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

 代码如下 复制代码

function _make_url_clickable_cb($matches) {
 $ret = '';
 $url = $matches[2];
 
 if ( empty($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] . "$url" . $ret;
}
 
function _make_web_ftp_clickable_cb($matches) {
 $ret = '';
 $dest = $matches[2];
 $dest = 'http://' . $dest;
 
 if ( empty($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]+?://[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("#(]+?>|>))]+?>([^>]+?)#i", "$1$3", $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.bKjia.c0m/logo.gif');
file_put_contents('/images/logo.gif', $image);

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

 代码如下 复制代码

function cleanHTML($html) {

// 首先去掉无用的标签(可以自定义更多需要清除的标签)

$html = ereg_replace("]*>","",$html);

// 然后再运行两遍去掉无用属性

$html = ereg_replace("]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","",$html);
$html = ereg_replace("]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","",$html);

return $html
}

如果你也收藏了一些有用的 PHP 代码

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、