search
Homephp教程php手册开发者必备,超实用的PHP代码片段!

超级有用的PHP代码片段。当你在开发网站、应用或者博客时,利用这些代码能为你节省大量的时间。
一、查看邮件是否已被阅读
当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。 <br> error_reporting(0); <br> Header("Content-Type: image/jpeg"); <br>   <br> //Get IP if (!empty($_SERVER['HTTP_CLIENT_IP'])) <br> { <br>   $ip=$_SERVER['HTTP_CLIENT_IP']; <br> } <br> elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) <br> { <br>   $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; <br> } <br> else<br> { <br>   $ip=$_SERVER['REMOTE_ADDR']; <br> } <br>   <br> //Time $actual_time = time(); <br> $actual_day = date('Y.m.d', $actual_time); <br> $actual_day_chart = date('d/m/y', $actual_time); <br> $actual_hour = date('H:i:s', $actual_time); <br>   <br> //GET Browser $browser = $_SERVER['HTTP_USER_AGENT']; <br>       <br> //LOG $myFile = "log.txt"; <br> $fh = fopen($myFile, 'a+'); <br> $stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' . "\r\n"; <br> fwrite($fh, $stringData); <br> fclose($fh); <br>   <br> //Generate Image (Es. dimesion is 1x1) $newimage = ImageCreate(1,1); <br> $grigio = ImageColorAllocate($newimage,255,255,255); <br> ImageJPEG($newimage); <br> ImageDestroy($newimage); <br>       <br> ?>二、从网页中提取关键字
一段伟大的代码片段能够轻松的从网页中提取关键字。$meta = get_meta_tags('http://www.emoticode.net/'); <br> $keywords = $meta['keywords']; <br> // Split keywords $keywords = explode(',', $keywords ); <br> // Trim them $keywords = array_map( 'trim', $keywords ); <br> // Remove empty values $keywords = array_filter( $keywords ); <br>   <br> print_r( $keywords );三、查找页面上的所有链接
使用DOM,你可以轻松从任何页面上抓取链接,代码示例如下: $html = file_get_contents('http://www.example.com'); <br>   <br> $dom = new DOMDocument(); <br> @$dom->loadHTML($html); <br>   <br> // grab all the on the page $xpath = new DOMXPath($dom); <br> $hrefs = $xpath->evaluate("/html/body//a"); <br>   <br> for ($i = 0; $i length; $i++) { <br>        $href = $hrefs->item($i); <br>        $url = $href->getAttribute('href'); <br>        echo $url.'<br>'; <br> }四、自动转换URL,跳转至超链接
在WordPress中,如果你想自动转换URL,跳转至超链接页面,你可以利用内置的函数make_clickable()执行此操作。如果你想基于WordPress之外操作该程序,那么你可以参考wp-includes/formatting.php源代码。 function _make_url_clickable_cb($matches) { <br>     $ret = ''; <br>     $url = $matches[2]; <br>    <br>     if ( empty($url) ) <br>         return $matches[0]; <br>     // removed trailing [.,;:] from URL     if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) { <br>         $ret = substr($url, -1); <br>         $url = substr($url, 0, strlen($url)-1); <br>     } <br>     return $matches[1] . "<a>$url</a>" . $ret; <br> } <br>    <br> function _make_web_ftp_clickable_cb($matches) { <br>     $ret = ''; <br>     $dest = $matches[2]; <br>     $dest = 'http://' . $dest; <br>    <br>     if ( empty($dest) ) <br>         return $matches[0]; <br>     // removed trailing [,;:] from URL     if ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) { <br>         $ret = substr($dest, -1); <br>         $dest = substr($dest, 0, strlen($dest)-1); <br>     } <br>     return $matches[1] . "<a>$dest</a>" . $ret; <br> } <br>    <br> function _make_email_clickable_cb($matches) { <br>     $email = $matches[2] . '@' . $matches[3]; <br>     return $matches[1] . "<a>$email</a>"; <br> } <br>    <br> function make_clickable($ret) { <br>     $ret = ' ' . $ret; <br>     // in testing, using arrays here was found to be faster     $ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_url_clickable_cb', $ret); <br>     $ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_web_ftp_clickable_cb', $ret); <br>     $ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret); <br>    <br>     // this one is not in an array because we need it to run last, for cleanup of accidental links within links     $ret = preg_replace("#(<a>]+?>|>))</a><a>]+?>([^>]+?)</a>#i", "$1$3", $ret); <br>     $ret = trim($ret); <br>     return $ret; <br> }五、创建数据URL
数据URL可以直接嵌入到HTML/CSS/JS中,以节省大量的 HTTP请求。 下面的这段代码可利用$file轻松创建数据URL。 function data_uri($file, $mime) { <br>   $contents=file_get_contents($file); <br>   $base64=base64_encode($contents); <br>   echo "data:$mime;base64,$base64"; <br> }六、从服务器上下载&保存一个远程图片 $image = file_get_contents('http://www.url.com/image.jpg'); <br> file_put_contents('/images/image.jpg', $image); 七、移除Remove Microsoft Word HTML Tag
当你使用Microsoft Word会创建许多Tag,比如font,span,style,class等。这些标签对于Word本身而言是非常有用的,但是当你从Word粘贴至网页时,你会发现很多无用的Tag。因此,下面的这段代码可帮助你删除所有无用的Word HTML Tag。function cleanHTML($html) { <br> /// <summary> /// Removes all FONT and SPAN tags, and all Class and Style attributes. /// Designed to get rid of non-standard Microsoft Word HTML tags. /// </summary> // start by completely removing all unwanted tags   <br> $html = ereg_replace("]*>","",$html); <br>   <br> // then run another pass over the html (twice), removing unwanted attributes   <br> $html = ereg_replace("]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","",$html); <br> $html = ereg_replace("]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","",$html); <br>   <br> return $html <br> }八、检测浏览器语言
如果你的网站上有多种语言,那么可以使用这段代码作为默认的语言来检测浏览器语言。该段代码将返回浏览器客户端使用的初始语言。function get_client_language($availableLanguages, $default='en'){ <br>     if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { <br>         $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); <br>   <br>         foreach ($langs as $value){ <br>             $choice=substr($value,0,2); <br>             if(in_array($choice, $availableLanguages)){ <br>                 return $choice; <br>             } <br>         } <br>     }  <br>     return $default; <br> }

AD:真正免费,域名+虚机+企业邮箱=0元

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),