Php:trim a string without cutting the word
function neat_trim($str, $n, $delim=’…’) { $len = strlen($str); if ($len > $n) { preg_match(’/(.{’ . $n . ‘}.*?)\b/’, $str, $matches); return rtrim($matches[1]) . $delim; } else { return $str; [...]
function neat_trim($str, $n, $delim=’…’) { $len = strlen($str); if ($len > $n) { preg_match(’/(.{’ . $n . ‘}.*?)\b/’, $str, $matches); return rtrim($matches[1]) . $delim; } else { return $str; [...]
function formatUrl($sDispTitle){ $sDispTitle = str_replace(’-',”,$sDispTitle); $sDispTitle = str_replace(’ ‘,’-',$sDispTitle); $sDispTitle = str_replace(’,',’-',$sDispTitle); $sDispTitle = str_replace(’&’,”,$sDispTitle); $sDispTitle = str_replace(’/',’-',$sDispTitle); $sDispTitle = str_replace(’.',”,$sDispTitle); $sDispTitle = str_replace(’?',”,$sDispTitle); $sDispTitle = str_replace("’",”,$sDispTitle); $sDispTitle = str_replace("!",”,$sDispTitle); $sDispTitle = str_replace(’"’,”,$sDispTitle); $sDispTitle = str_replace(’%',”,$sDispTitle); $sDispTitle = str_replace(’#',”,$sDispTitle); return $sDispTitle; }
function isValidEmail($email){ return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email); }
$sTitle="test test123"; $sTitle = preg_replace("’\s+’", ‘-’, $sTitle); print $sTitle; output:test-test123
function typevalidation($uploadfiletype,$mediatype,$tmpfilename="") { if ($tmpfilename) { $sfiletype = shell_exec("mimetype -bi $tmpfilename"); //echo "In".$sfiletype; $typearr=explode("/",$sfiletype); $filetype=$typearr[0]; $fileext=$typearr[1]; } if($uploadfiletype==’thumb’) { if($filetype!=’image’) { $errmsg="errormessage1"; } else{ $errmsg="ok"; } } else if($uploadfiletype==’media’) { if($mediatype=="image") { if($filetype!=’image’) { $errmsg="errormessage2"; } else {$errmsg="ok"; } } else if($mediatype=="video") { if($filetype!=’video’) { $errmsg="errormessage3"; } elseif(strpos($fileext,"flv")===false) { $errmsg="errormessage4"; } else {$errmsg="ok"; } } } return $errmsg; }
Function removes unwanted utf-8 characters except correct ASCII & UTF-8 characters (excluding 4-byte+ UTF-8 sequences).
function removeInvalidUtf8Chars($s) { if(empty($s)) return $s; $s = preg_match_all("#[\x09\x0A\x0D\x20-\x7E]| [\xC2-\xDF][\x80-\xBF]| \xE0[\xA0-\xBF][\x80-\xBF]| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}| \xED[\x80-\x9F][\x80-\xBF]#x", $s, $m ); return implode("",$m[0]); return $s; }
Here is the Full source code for view counter application for counting the page views . Please use the example.txt for how to use the application. It uses memcache. Install the memcached daemon and php library to use it. It uses mysql 5 and php 5. http://satishgaudo.com/satblog/ext_img/view_counter.rar
<?php /* Purpose: Resizes and saves image Requires : Requires PHP5, GD library. Usage Example: include("classes/resize_class.php"); [...]
Regular expresion used:’#<a\s*(?:href=[\'"]([^\'"]+)[\'"])?\s*(?:title=[\'"]([^\'"]+)[\'"])?.*?>((?:(?!</a>).)*)</a>#i’ Example: <code> <?</code> <code>$strcontent="<table><tr><td><a href=’http://satishgaudo.com’ >satishgaudo.com</a></td></tr><tr><td><a href=’http://satishgaudo.com/1′ >satishgaudo.com/1</a></td></tr></table>";</code> <code>preg_match_all(’#<a\s*(?:href=[\'"]([^\'"]+)[\'"])?\s*(?:title=[\'"]([^\'"]+)[\'"])?.*?>((?:(?!</a>).)*)</a>#i’,$strcontent, $aOutput); print_r($aOutput); </code> <code>?> </code> Output: <pre id="line1">Array ( [0] => Array ( [0] => <<span>a</span><span> href</span><span>=’</span><a href="view-source:http://satishgaudo.com/">http://satishgaudo.com</a><span>’ </span>>satishgaudo.com</<span>a</span>> [1] => <<span>a</span><span> href</span><span>=’</span><a [...]
/** * closetags * used to close html tags incase not closed properly * @param string $html – html string * @access public */ function closetags($html){ $arr_single_tags = array(’meta’,'img’,'br’,'link’,'area’); preg_match_all(’#<([a-z]+)(?: .*)?(?<![/|/ ])\s*>#iU’, $html, $result); $openedtags = $result[1]; preg_match_all(’#</([a-z]+)>#iU’, $html, $result); $closedtags = $result[1]; $len_opened = count($openedtags); if (count($closedtags) == $len_opened){ return $html; } $openedtags = array_reverse($openedtags); //re arrange open tags and closed tags for count $aOpenedtagsCnt=Array(); $aClosedtagsCnt=Array(); if(is_array($openedtags)){ foreach($openedtags as $iK =>$sTag){ if(!isset($aOpenedtagsCnt[$sTag])){ $aOpenedtagsCnt[$sTag]=1; }else{ $aOpenedtagsCnt[$sTag]++; } } } if(is_array($closedtags)){ foreach($closedtags as $iK =>$sTag){ if(!isset($aClosedtagsCnt[$sTag])){ $aClosedtagsCnt[$sTag]=1; }else{ $aClosedtagsCnt[$sTag]++; } } } for ($i=0; [...]