> php教程 > php手册 > 10 个救命的 PHP 代码片段

10 个救命的 PHP 代码片段

WBOY
풀어 주다: 2016-06-21 08:53:14
원래의
1278명이 탐색했습니다.

   关键词高亮

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> highlight(</span><span class="vars">$sString</span><span>, </span><span class="vars">$aWords</span><span>) { </span></span></li>
<li><span>    <span class="keyword">if</span><span> (!</span><span class="func">is_array</span><span> (</span><span class="vars">$aWords</span><span>)  </span><span class="keyword">empty</span><span class="func">empty</span><span> (</span><span class="vars">$aWords</span><span>)  !</span><span class="func">is_string</span><span> (</span><span class="vars">$sString</span><span>)) { </span></span></li>
<li class="alt"><span>        <span class="keyword">return</span><span> false; </span></span></li>
<li><span>    } </span></li>
<li class="alt"><span> </span></li>
<li><span>    <span class="vars">$sWords</span><span> = implode (</span><span class="string">''</span><span>, </span><span class="vars">$aWords</span><span>); </span></span></li>
<li class="alt"><span>    <span class="keyword">return</span><span> preg_replace (</span><span class="string">'@\b('</span><span>.</span><span class="vars">$sWords</span><span>.</span><span class="string">')\b@si'</span><span>, </span><span class="string">'<strong>$1</strong>'</span><span>, </span><span class="vars">$sString</span><span>); </span></span></li>
<li><span>} </span></li>
</ol>
로그인 후 복사

  获取你的Feedburner的用户

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> get_average_readers(</span><span class="vars">$feed_id</span><span>,</span><span class="vars">$interval</span><span> = 7){ </span></span></li>
<li><span>    <span class="vars">$today</span><span> = </span><span class="func">date</span><span>(</span><span class="string">'Y-m-d'</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="string">"now"</span><span>)); </span></span></li>
<li class="alt"><span>    <span class="vars">$ago</span><span> = </span><span class="func">date</span><span>(</span><span class="string">'Y-m-d'</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="string">"-"</span><span>.</span><span class="vars">$interval</span><span>.</span><span class="string">" days"</span><span>)); </span></span></li>
<li><span>    <span class="vars">$feed_url</span><span>=</span><span class="string">"https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri="</span><span>.</span><span class="vars">$feed_id</span><span>.</span><span class="string">"&dates="</span><span>.</span><span class="vars">$ago</span><span>.</span><span class="string">","</span><span>.</span><span class="vars">$today</span><span>; </span></span></li>
<li class="alt"><span>    <span class="vars">$ch</span><span> = curl_init(); </span></span></li>
<li><span>    curl_setopt(<span class="vars">$ch</span><span>, CURLOPT_RETURNTRANSFER, 1); </span></span></li>
<li class="alt"><span>    curl_setopt(<span class="vars">$ch</span><span>, CURLOPT_URL, </span><span class="vars">$feed_url</span><span>); </span></span></li>
<li><span>    <span class="vars">$data</span><span> = curl_exec(</span><span class="vars">$ch</span><span>); </span></span></li>
<li class="alt"><span>    curl_close(<span class="vars">$ch</span><span>); </span></span></li>
<li><span>    <span class="vars">$xml</span><span> = </span><span class="keyword">new</span><span> SimpleXMLElement(</span><span class="vars">$data</span><span>); </span></span></li>
<li class="alt"><span>    <span class="vars">$fb</span><span> = </span><span class="vars">$xml</span><span>->feed->entry[</span><span class="string">'circulation'</span><span>]; </span></span></li>
<li><span> </span></li>
<li class="alt"><span>    <span class="vars">$nb</span><span> = 0; </span></span></li>
<li><span>    <span class="keyword">foreach</span><span>(</span><span class="vars">$xml</span><span>->feed->children() </span><span class="keyword">as</span><span> </span><span class="vars">$circ</span><span>){ </span></span></li>
<li class="alt"><span>        <span class="vars">$nb</span><span> += </span><span class="vars">$circ</span><span>[</span><span class="string">'circulation'</span><span>]; </span></span></li>
<li><span>    } </span></li>
<li class="alt"><span> </span></li>
<li><span>    <span class="keyword">return</span><span> </span><span class="func">round</span><span>(</span><span class="vars">$nb</span><span>/</span><span class="vars">$interval</span><span>); </span></span></li>
<li class="alt"><span>} </span></li>
</ol>
로그인 후 복사

  自动生成密码

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> generatePassword(</span><span class="vars">$length</span><span>=9, </span><span class="vars">$strength</span><span>=0) { </span></span></li>
<li><span>    <span class="vars">$vowels</span><span> = </span><span class="string">'aeuy'</span><span>; </span></span></li>
<li class="alt"><span>    <span class="vars">$consonants</span><span> = </span><span class="string">'bdghjmnpqrstvz'</span><span>; </span></span></li>
<li><span>    <span class="keyword">if</span><span> (</span><span class="vars">$strength</span><span> >= 1) { </span></span></li>
<li class="alt"><span>        <span class="vars">$consonants</span><span> .= </span><span class="string">'BDGHJLMNPQRSTVWXZ'</span><span>; </span></span></li>
<li><span>    } </span></li>
<li class="alt"><span>    <span class="keyword">if</span><span> (</span><span class="vars">$strength</span><span> >= 2) { </span></span></li>
<li><span>        <span class="vars">$vowels</span><span> .= </span><span class="string">"AEUY"</span><span>; </span></span></li>
<li class="alt"><span>    } </span></li>
<li><span>    <span class="keyword">if</span><span> (</span><span class="vars">$strength</span><span> >= 4) { </span></span></li>
<li class="alt"><span>        <span class="vars">$consonants</span><span> .= </span><span class="string">'23456789'</span><span>; </span></span></li>
<li><span>    } </span></li>
<li class="alt"><span>    <span class="keyword">if</span><span> (</span><span class="vars">$strength</span><span> >= 8 ) { </span></span></li>
<li><span>        <span class="vars">$vowels</span><span> .= </span><span class="string">'@#$%'</span><span>; </span></span></li>
<li class="alt"><span>    } </span></li>
<li><span> </span></li>
<li class="alt"><span>    <span class="vars">$password</span><span> = </span><span class="string">''</span><span>; </span></span></li>
<li><span>    <span class="vars">$alt</span><span> = time() % 2; </span></span></li>
<li class="alt"><span>    <span class="keyword">for</span><span> (</span><span class="vars">$i</span><span> = 0; </span><span class="vars">$i</span><span> <span class="vars">$length</span><span>; </span><span class="vars">$i</span><span>++) { </span></span></span></li>
<li><span>        <span class="keyword">if</span><span> (</span><span class="vars">$alt</span><span> == 1) { </span></span></li>
<li class="alt"><span>            <span class="vars">$password</span><span> .= </span><span class="vars">$consonants</span><span>[(rand() % </span><span class="func">strlen</span><span>(</span><span class="vars">$consonants</span><span>))]; </span></span></li>
<li><span>            <span class="vars">$alt</span><span> = 0; </span></span></li>
<li class="alt"><span>        } <span class="keyword">else</span><span> { </span></span></li>
<li><span>            <span class="vars">$password</span><span> .= </span><span class="vars">$vowels</span><span>[(rand() % </span><span class="func">strlen</span><span>(</span><span class="vars">$vowels</span><span>))]; </span></span></li>
<li class="alt"><span>            <span class="vars">$alt</span><span> = 1; </span></span></li>
<li><span>        } </span></li>
<li class="alt"><span>    } </span></li>
<li><span>    <span class="keyword">return</span><span> </span><span class="vars">$password</span><span>; </span></span></li>
<li class="alt"><span>} </span></li>
</ol>
로그인 후 복사

  压缩多个CSS文件

<ol class="dp-c">
<li class="alt"><span><span>header(</span><span class="string">'Content-type: text/css'</span><span>); </span></span></li>
<li><span>ob_start(<span class="string">"compress"</span><span>); </span></span></li>
<li class="alt"><span><span class="keyword">function</span><span> compress(</span><span class="vars">$buffer</span><span>) { </span></span></li>
<li><span>  <span class="comment">/* remove comments */</span><span> </span></span></li>
<li class="alt"><span>  <span class="vars">$buffer</span><span> = preg_replace(</span><span class="string">'!/\*[^*]*\*+([^/][^*]*\*+)*/!'</span><span>, </span><span class="string">''</span><span>, </span><span class="vars">$buffer</span><span>); </span></span></li>
<li><span>  <span class="comment">/* remove tabs, spaces, newlines, etc. */</span><span> </span></span></li>
<li class="alt"><span>  <span class="vars">$buffer</span><span> = </span><span class="func">str_replace</span><span>(</span><span class="keyword">array</span><span>(</span><span class="string">"\r\n"</span><span>, </span><span class="string">"\r"</span><span>, </span><span class="string">"\n"</span><span>, </span><span class="string">"\t"</span><span>, </span><span class="string">'  '</span><span>, </span><span class="string">'    '</span><span>, </span><span class="string">'    '</span><span>), </span><span class="string">''</span><span>, </span><span class="vars">$buffer</span><span>); </span></span></li>
<li><span>  <span class="keyword">return</span><span> </span><span class="vars">$buffer</span><span>; </span></span></li>
<li class="alt"><span>} </span></li>
<li><span> </span></li>
<li class="alt"><span><span class="comment">/* your css files */</span><span> </span></span></li>
<li><span><span class="keyword">include</span><span>(</span><span class="string">'master.css'</span><span>); </span></span></li>
<li class="alt"><span><span class="keyword">include</span><span>(</span><span class="string">'typography.css'</span><span>); </span></span></li>
<li><span><span class="keyword">include</span><span>(</span><span class="string">'grid.css'</span><span>); </span></span></li>
<li class="alt"><span><span class="keyword">include</span><span>(</span><span class="string">'print.css'</span><span>); </span></span></li>
<li><span><span class="keyword">include</span><span>(</span><span class="string">'handheld.css'</span><span>); </span></span></li>
<li class="alt"><span> </span></li>
<li><span>ob_end_flush(); </span></li>
</ol>
로그인 후 복사

  获取短网址

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> getTinyUrl(</span><span class="vars">$url</span><span>) { </span></span></li>
<li><span>    <span class="keyword">return</span><span> </span><span class="func">file_get_contents</span><span>(</span><span class="string">"http://tinyurl.com/api-create.php?url="</span><span>.</span><span class="vars">$url</span><span>); </span></span></li>
<li class="alt"><span>} </span></li>
</ol>
로그인 후 복사

  根据生日计算年龄

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> age(</span><span class="vars">$date</span><span>){ </span></span></li>
<li><span>    <span class="vars">$year_diff</span><span> = </span><span class="string">''</span><span>; </span></span></li>
<li class="alt"><span>    <span class="vars">$time</span><span> = </span><span class="func">strtotime</span><span>(</span><span class="vars">$date</span><span>); </span></span></li>
<li><span>    <span class="keyword">if</span><span>(FALSE === </span><span class="vars">$time</span><span>){ </span></span></li>
<li class="alt"><span>        <span class="keyword">return</span><span> </span><span class="string">''</span><span>; </span></span></li>
<li><span>    } </span></li>
<li class="alt"><span> </span></li>
<li><span>    <span class="vars">$date</span><span> = </span><span class="func">date</span><span>(</span><span class="string">'Y-m-d'</span><span>, </span><span class="vars">$time</span><span>); </span></span></li>
<li class="alt"><span>    list(<span class="vars">$year</span><span>,</span><span class="vars">$month</span><span>,</span><span class="vars">$day</span><span>) = </span><span class="func">explode</span><span>(</span><span class="string">"-"</span><span>,</span><span class="vars">$date</span><span>); </span></span></li>
<li><span>    <span class="vars">$year_diff</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"Y"</span><span>) – </span><span class="vars">$year</span><span>; </span></span></li>
<li class="alt"><span>    <span class="vars">$month_diff</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"m"</span><span>) – </span><span class="vars">$month</span><span>; </span></span></li>
<li><span>    <span class="vars">$day_diff</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"d"</span><span>) – </span><span class="vars">$day</span><span>; </span></span></li>
<li class="alt"><span>    <span class="keyword">if</span><span> (</span><span class="vars">$day_diff</span><span> <span class="vars">$month_diff</span><span> <span class="vars">$year_diff</span><span>–; </span></span></span></span></li>
<li><span> </span></li>
<li class="alt"><span>    <span class="keyword">return</span><span> </span><span class="vars">$year_diff</span><span>; </span></span></li>
<li><span>} </span></li>
</ol>
로그인 후 복사

  计算执行时间

<ol class="dp-c">
<li class="alt"><span><span class="comment">//Create a variable for start time</span><span> </span></span></li>
<li><span><span class="vars">$time_start</span><span> = microtime(true); </span></span></li>
<li class="alt"><span> </span></li>
<li><span><span class="comment">// Place your PHP/HTML/JavaScript/CSS/Etc. Here</span><span> </span></span></li>
<li class="alt"><span> </span></li>
<li><span><span class="comment">//Create a variable for end time</span><span> </span></span></li>
<li class="alt"><span><span class="vars">$time_end</span><span> = microtime(true); </span></span></li>
<li><span><span class="comment">//Subtract the two times to get seconds</span><span> </span></span></li>
<li class="alt"><span><span class="vars">$time</span><span> = </span><span class="vars">$time_end</span><span> - </span><span class="vars">$time_start</span><span>; </span></span></li>
<li><span> </span></li>
<li class="alt"><span><span class="func">echo</span><span> </span><span class="string">'Script took '</span><span>.</span><span class="vars">$time</span><span>.</span><span class="string">' seconds to execute'</span><span>; </span></span></li>
</ol>
로그인 후 복사

  PHP的维护模式

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> maintenance(</span><span class="vars">$mode</span><span> = FALSE){ </span></span></li>
<li><span>    <span class="keyword">if</span><span>(</span><span class="vars">$mode</span><span>){ </span></span></li>
<li class="alt"><span>        <span class="keyword">if</span><span>(</span><span class="func">basename</span><span>(</span><span class="vars">$_SERVER</span><span>[</span><span class="string">'SCRIPT_FILENAME'</span><span>]) != </span><span class="string">'maintenance.php'</span><span>){ </span></span></li>
<li><span>            header(<span class="string">"Location: http://example.com/maintenance.php"</span><span>); </span></span></li>
<li class="alt"><span>            <span class="func">exit</span><span>; </span></span></li>
<li><span>        } </span></li>
<li class="alt"><span>    }<span class="keyword">else</span><span>{ </span></span></li>
<li><span>        <span class="keyword">if</span><span>(</span><span class="func">basename</span><span>(</span><span class="vars">$_SERVER</span><span>[</span><span class="string">'SCRIPT_FILENAME'</span><span>]) == </span><span class="string">'maintenance.php'</span><span>){ </span></span></li>
<li class="alt"><span>            header(<span class="string">"Location: http://example.com/"</span><span>); </span></span></li>
<li><span>            <span class="func">exit</span><span>; </span></span></li>
<li class="alt"><span>        } </span></li>
<li><span>    } </span></li>
<li class="alt"><span>} </span></li>
</ol>
로그인 후 복사

  阻止CSS样式被缓存

<ol class="dp-c"><li class="alt"><span><span><link>
<span class="string">"/stylesheet.css?<?php  echo time(); ?>"</span><span> rel=</span><span class="string">"stylesheet"</span><span> type=</span><span class="string">"text/css"</span><span> /&glt; </span></span></span></li></ol>
로그인 후 복사

  为数字增加 st\nd\rd 等

<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> make_ranked(</span><span class="vars">$rank</span><span>) { </span></span></li>
<li><span>    <span class="vars">$last</span><span> = </span><span class="func">substr</span><span>( </span><span class="vars">$rank</span><span>, -1 ); </span></span></li>
<li class="alt"><span>    <span class="vars">$seclast</span><span> = </span><span class="func">substr</span><span>( </span><span class="vars">$rank</span><span>, -2, -1 ); </span></span></li>
<li><span>    <span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> > 3  </span><span class="vars">$last</span><span> == 0 ) </span><span class="vars">$ext</span><span> = </span><span class="string">'th'</span><span>; </span></span></li>
<li class="alt"><span>    <span class="keyword">else</span><span> </span><span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> == 3 ) </span><span class="vars">$ext</span><span> = </span><span class="string">'rd'</span><span>; </span></span></li>
<li><span>    <span class="keyword">else</span><span> </span><span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> == 2 ) </span><span class="vars">$ext</span><span> = </span><span class="string">'nd'</span><span>; </span></span></li>
<li class="alt"><span>    <span class="keyword">else</span><span> </span><span class="vars">$ext</span><span> = </span><span class="string">'st'</span><span>;  </span></span></li>
<li><span> </span></li>
<li class="alt"><span>    <span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> == 1 && </span><span class="vars">$seclast</span><span> == 1) </span><span class="vars">$ext</span><span> = </span><span class="string">'th'</span><span>; </span></span></li>
<li><span>    <span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> == 2 && </span><span class="vars">$seclast</span><span> == 1) </span><span class="vars">$ext</span><span> = </span><span class="string">'th'</span><span>; </span></span></li>
<li class="alt"><span>    <span class="keyword">if</span><span>( </span><span class="vars">$last</span><span> == 3 && </span><span class="vars">$seclast</span><span> == 1) </span><span class="vars">$ext</span><span> = </span><span class="string">'th'</span><span>;  </span></span></li>
<li><span> </span></li>
<li class="alt"><span>    <span class="keyword">return</span><span> </span><span class="vars">$rank</span><span>.</span><span class="vars">$ext</span><span>; </span></span></li>
<li><span>} </span></li>
</ol>
로그인 후 복사




관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿