10 个救命的 PHP 代码片段
程序员文章站
2022-04-20 19:02:18
...
关键词高亮
- function highlight($sString, $aWords) {
- if (!is_array ($aWords) emptyempty ($aWords) !is_string ($sString)) {
- return false;
- }
- $sWords = implode ('', $aWords);
- return preg_replace ('@\b('.$sWords.')\b@si', '$1', $sString);
- }
获取你的Feedburner的用户
- function get_average_readers($feed_id,$interval = 7){
- $today = date('Y-m-d', strtotime("now"));
- $ago = date('Y-m-d', strtotime("-".$interval." days"));
- $feed_url="https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed_id."&dates=".$ago.",".$today;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_URL, $feed_url);
- $data = curl_exec($ch);
- curl_close($ch);
- $xml = new SimpleXMLElement($data);
- $fb = $xml->feed->entry['circulation'];
- $nb = 0;
- foreach($xml->feed->children() as $circ){
- $nb += $circ['circulation'];
- }
- return round($nb/$interval);
- }
自动生成密码
- function generatePassword($length=9, $strength=0) {
- $vowels = 'aeuy';
- $consonants = 'bdghjmnpqrstvz';
- if ($strength >= 1) {
- $consonants .= 'BDGHJLMNPQRSTVWXZ';
- }
- if ($strength >= 2) {
- $vowels .= "AEUY";
- }
- if ($strength >= 4) {
- $consonants .= '23456789';
- }
- if ($strength >= 8 ) {
- $vowels .= '@#$%';
- }
- $password = '';
- $alt = time() % 2;
- for ($i = 0; $i $length; $i++) {
- if ($alt == 1) {
- $password .= $consonants[(rand() % strlen($consonants))];
- $alt = 0;
- } else {
- $password .= $vowels[(rand() % strlen($vowels))];
- $alt = 1;
- }
- }
- return $password;
- }
压缩多个CSS文件
- header('Content-type: text/css');
- ob_start("compress");
- function compress($buffer) {
- /* remove comments */
- $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
- /* remove tabs, spaces, newlines, etc. */
- $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
- return $buffer;
- }
- /* your css files */
- include('master.css');
- include('typography.css');
- include('grid.css');
- include('print.css');
- include('handheld.css');
- ob_end_flush();
获取短网址
- function getTinyUrl($url) {
- return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
- }
根据生日计算年龄
- function age($date){
- $year_diff = '';
- $time = strtotime($date);
- if(FALSE === $time){
- return '';
- }
- $date = date('Y-m-d', $time);
- list($year,$month,$day) = explode("-",$date);
- $year_diff = date("Y") – $year;
- $month_diff = date("m") – $month;
- $day_diff = date("d") – $day;
- if ($day_diff $month_diff $year_diff–;
- return $year_diff;
- }
计算执行时间
- //Create a variable for start time
- $time_start = microtime(true);
- // Place your PHP/HTML/JavaScript/CSS/Etc. Here
- //Create a variable for end time
- $time_end = microtime(true);
- //Subtract the two times to get seconds
- $time = $time_end - $time_start;
- echo 'Script took '.$time.' seconds to execute';
PHP的维护模式
- function maintenance($mode = FALSE){
- if($mode){
- if(basename($_SERVER['SCRIPT_FILENAME']) != 'maintenance.php'){
- header("Location: http://example.com/maintenance.php");
- exit;
- }
- }else{
- if(basename($_SERVER['SCRIPT_FILENAME']) == 'maintenance.php'){
- header("Location: http://example.com/");
- exit;
- }
- }
- }
阻止CSS样式被缓存
- "/stylesheet.css?" rel="stylesheet" type="text/css" /&glt;
为数字增加 st\nd\rd 等
- function make_ranked($rank) {
- $last = substr( $rank, -1 );
- $seclast = substr( $rank, -2, -1 );
- if( $last > 3 $last == 0 ) $ext = 'th';
- else if( $last == 3 ) $ext = 'rd';
- else if( $last == 2 ) $ext = 'nd';
- else $ext = 'st';
- if( $last == 1 && $seclast == 1) $ext = 'th';
- if( $last == 2 && $seclast == 1) $ext = 'th';
- if( $last == 3 && $seclast == 1) $ext = 'th';
- return $rank.$ext;
- }