tag:blogger.com,1999:blog-21426693697403605102024-02-21T05:24:19.137+05:00:: Code Snap :: Dive in the CodeCode tricks for the next life.جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-2142669369740360510.post-12197921297788885412012-02-28T00:05:00.001+05:002012-02-28T00:07:56.754+05:00Get the dynamically rendered file contents<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/**<br /> * Get the dynamic rendered contents of given file<br /> * without exposing a bit of char.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param string $filename Absolute path of the file.<br /> * @param array $vars List of variables pass to file.<br /> * @return mixed Rendered output of file.<br /> */<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">getIncludedFileContents </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filename</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, array </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$vars </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array () )<br />{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** make sure that given path is the real file.<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_file </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( (string) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filename </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> {<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** Start Output Buffer<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">ob_start </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">();<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">ob_implicit_flush </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** Extract named variables and assign thier values.<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">extract </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$vars</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">EXTR_PREFIX_SAME</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'vars' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** Include the file and execute the code.<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">require_once ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filename </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** Return the rendered output.<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">ob_get_clean </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">();<br /> }<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** If nothing, return.<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">NULL</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />}<br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Example |<br /> +-----------+<br />*/<br />/*<br /><br />welcome.php<br />-------------------<br />Salam <strong><?php echo $fullname; ?></strong>!<br /><br />*/<br /><br />/*<br /># The file contain variable $fullname<br /># and will replaced with the value.<br />echo getIncludedFileContents (<br /> "welcome.php",<br /> array ( "fullname"=>'Junaid Atari' )<br />);<br />*/<br /><br />/*<br /> +-----------+<br /> | Output |<br /> +-----------+<br />*/<br />/*<br />Salam <strong>Junaid Atari</strong>!<br />*/</span>
</div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-85555315035831853312012-02-24T11:06:00.000+05:002012-02-24T11:07:24.323+05:00Beautify an XML string in PHP (PCRE)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Beautify an XML string.<br /> *<br /> * @param string Compressed/Unformatted XML string<br /> * @return string Formatted XML string<br /> */<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">beautifyXmlString </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$xml </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />
{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// add marker linefeeds to aid the pretty-tokeniser<br /> // (adds a linefeed between all tag-end boundaries)<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$xml </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_replace </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/(>)(<)(\/*)/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"$1\n$2$3"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$xml </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// now indent the tags<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">strtok </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$xml</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// holds formatted version as it is built<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">''</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// initial indent<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pad </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// returns from preg_matches()<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array();<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// scan each line and adjust indent based on opening/closing tags<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">while ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">!== </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> { <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// test for the various tag states<br /><br /> // 1. open and closing tags on same line - no change<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/.+<\/\w[^>]*>$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) ) :<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// 2. closing tag - outdent now<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">elseif ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^<\/\w/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) ) :<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pad</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">--;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// 3. opening tag - don't pad this one, only subsequent tags<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">elseif ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^<\w[^>]*[^\/]>.*$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) ) :<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// 4. no indentation needed<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">else :<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> endif;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// pad the line with the required number of leading spaces<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$line </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">str_pad </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">strlen </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) +<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pad</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\t"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">STR_PAD_LEFT </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// add to the cumulative result, with linefeed<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$line </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// get the next token<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">strtok </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// update the pad size for subsequent lines<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pad </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">+= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />}<br />
<br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Example |<br /> +-----------+<br />*/<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">echo </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">beautifyXmlString </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'<response><post><title>Damn in the World'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'</title></post></response>' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Output |<br /> +-----------+<br />*/<br />/*<br /><response><br /> <post><br /> <title>Damn in the World</title><br /> </post><br /></response><br />*/</span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-42660130085495168792012-02-24T10:33:00.000+05:002012-02-24T10:50:07.189+05:00Validate an IP Address ( PCRE )<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: monospace; text-align: -webkit-auto;"><span style="color: #ff8000;">/*</span><br /><span style="color: #ff8000;"> </span><b><span style="color: #999999;">Validation footprint:</span></b><br /><span style="color: #ff8000;"> - First part must be > 0.</span></span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> - All parts will be <= 255.</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> - No 0.0.0.0 match</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> - 00, 000 are not allowed in pairs if</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> first digit starts with 0. allowed for</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> > 0 </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">first digit.</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br /> </span><span style="font-family: monospace; text-align: -webkit-auto;"><span style="color: #999999;"><b>Valid examples:</b></span><br /><span style="color: #ff8000;"> - 12.255.99.2</span><br /><span style="color: #ff8000;"> </span></span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">-</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">115.92.255.66</span><br />
<span style="font-family: monospace; text-align: -webkit-auto;"><span style="color: #ff8000;"> </span></span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">-</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">127.2.1.66:2082</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> ...</span><br />
<span style="font-family: monospace; text-align: -webkit-auto;"><span style="color: #ff8000;">*/</span><br /><br /><span style="color: #ff8000;">/**</span><br /><span style="color: #ff8000;"> * Validate the MySQL Timestamp</span><br /><span style="color: #ff8000;"> *</span><br /><span style="color: #ff8000;"> * @author Junaid Atari <mj.atari@gmail.com></span><br /><span style="color: #ff8000;"> * @version 1.0</span><br /><span style="color: #ff8000;"> * @see http://codesnap.blogspot.com/</span><br /><span style="color: #ff8000;"> * @param string $ip IP to validate</span><br /><span style="color: #ff8000;"> * @return bool TRUE on valid | FALSE</span><br /><span style="color: #ff8000;"> */</span></span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidIp </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ip </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> </span>
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* PCRE Pattern written by Junaid Atari */<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">return !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^([1-9]\d|1\d{0,2}|2[0-5]{2})\.('</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'(0|1?\d{0,2}|2[0-5]{2})\.){2}(0|1?'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'\d{0,2}|2[0-5]{2})(\:\d{2,4})?$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br /> (string) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ip </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> ? </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">: </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">true</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />}</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Example |<br /> +-----------+<br />*/</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">var_dump </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidIp </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'127.0.0.1:8080' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br /></span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Output |<br /> +-----------+<br />*/</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"># Output: True</span>
</div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-74972467629847406612011-11-22T18:23:00.001+05:002011-11-22T23:25:40.232+05:00Validate the MySQL Timestamp in PHP<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Validate the MySQL Timestamp<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param string $str MySQL Timestamp to check<br /> * @return bool TRUE on valid | FALSE<br />*/<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidMySqlTimeStamp </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />
{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* PCRE Pattern written by Junaid Atari */<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(?<y>19\d\d|20\d\d)\-(?<m>0[1-9]|1[0-2])\-' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br />
</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'(?<d>0\d|[1-2]\d|3[0-1]) (?<h>0\d|1\d|2[0-3]' <span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span> <br />
')\:</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">(?<i>[0-5][0-9])\:(?<s>[0-5][0-9])$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">checkdate </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'m'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'d'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'y'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] )</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />}</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">/*</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> +-----------+<br /> | Example |<br /> +-----------+<br />*/<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">var_dump </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">isValidMySqlTimeStamp </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'2011-11-26 11:25:26' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );</span><br />
<br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">/*</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> +-----------+<br /> | Output |<br /> +-----------+<br />*/<br /># Output: True </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-23225918019648929352011-11-22T18:17:00.001+05:002011-11-22T18:21:32.558+05:00Validate the MySQL Date in PHP<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Validate the MySQL Date<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param string $str MySQL Date to check<br /> * @return bool TRUE on valid | FALSE<br />
*/<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidMySqlDate </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />
{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* PCRE Pattern written by Junaid Atari */<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(?<y>19\d\d|20\d\d)\-(?<m>0[1-9]|1[0-2])'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br />
</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'\-(?<d>0\d|[1-2]\d|3[0-1])$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">checkdate </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'m'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'d'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$date</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'y'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] );<br />
}</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Example |<br /> +-----------+<br />
*/<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">var_dump </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidMySqlDate </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'2011-11-22' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );<br /></span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Output |<br /> +-----------+<br />*/<br /># Output: True </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-70304477967887535192011-11-22T18:09:00.001+05:002011-11-22T23:30:30.584+05:00Validate the MySQL Time in PHP<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Validate the MySQL Time<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param string $str MySQL Time to check<br /> * @return bool TRUE on valid | FALSE<br />*/<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidMySQLTime </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />
{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* PCRE Pattern written by Junaid Atari */<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">return !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(?<h>0\d|1\d|2[0-3])\:(?<i>[0-5]\d)\:'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'(?<s>[0-5]</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">\d</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">)$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> ? </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">: </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">true</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />}</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Example |<br /> +-----------+<br />*/<br />
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">var_dump </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isValidMySQLTime </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'11:25:26' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );<br /></span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +-----------+<br /> | Output |<br /> +-----------+<br />*/<br /># Output: True </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-8897769368196382032011-11-20T23:16:00.000+05:002011-11-20T23:18:21.683+05:00Get the Directories Name by Given Criteria<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Get the directories name by given criteria.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param string $dir Complete path to directory.<br /> * @param array $skipList Dirs name to be exclude.<br /> * @param string $strictNameRegex PCRE pattern to filter names<br /> * @return array List of folders name | empty<br />*/ <br>
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">getDirectryFolders </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( <br>
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$skipList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array (), </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$strictNameRegex </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$listDir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array ();<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'@(//|\\\)$@'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, (string) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">DIRECTORY_SEPARATOR</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$handler </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= @</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">opendir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$handler </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> return array ();<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$skipList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_merge </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( (array) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$skipList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, array ( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'.'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'..' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );<br /> <br />
while ( ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">readdir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$handler </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) ) !== </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> { <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">in_array </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$skipList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) && </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> {<br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$strictNameRegex </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> {<br /> if ( (bool) @</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$strictNameRegex</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$listDir</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[ </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] = </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> else<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$listDir</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[ </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] = </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$sub</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> } <br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">closedir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$handler </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$listDir</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">; <br />}<br>
<br /></span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br />+---------+<br />| Example |<br />+---------+<br />*/ <br>
</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">print_r </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">getDirectryFolders </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'c:\htdocs\web'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br /> array ( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'includes' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">),<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^[a-z0-9_]+$/i'<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />);<br>
<br>
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br />+--------+<br />| Output |<br />+--------+<br /><br />Array<br />(<br /> [backups] => c:\htdocs\web\backups<br /> [libraries] => c:\htdocs\web\libraries<br /> [images] => c:\htdocs\web\images<br /> [logs] => c:\htdocs\web\logs<br /> [components] => c:\htdocs\web\components<br />)<br /><br />*/ </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-73241904038597163332011-11-20T22:37:00.001+05:002011-11-20T23:05:28.482+05:00Get the Files of Directory by Given Criteria<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Get the files of directory by given criteria.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br /> * @param </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">string </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">$dir Path of directory.<br />
* @param string $pattern Pattern of file name & extesion<br />
* @param array $excludeList Files list to exclude (name only)<br />
* @param string $strictNameRegex PCRE pattern to filter files name<br />
* @return array List of folder's files | empty<br />
*/<br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">getFolderFiles </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $dir</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">NULL</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, array </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$excludeList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array (),</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $strictNameRegex </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_string </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> ? </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'*.php'<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">: </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'@(//|\\\)$@'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">DIRECTORY_SEPARATOR</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$_files </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">glob </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$dir </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">DIRECTORY_SEPARATOR </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">count </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$_files </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return array ();<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array ();<br /> <br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$_files </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$file </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fName </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">pathinfo </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$file</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">PATHINFO_FILENAME </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">in_array </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fName</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, (array) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$excludeList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[ </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fName </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] = </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$file</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> <br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$strictNameRegex </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> {<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fiList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array ();<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$list </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_grep </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $strictNameRegex</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_keys </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> );<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">count </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$list </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return array ();<br /> <br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$list </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$name </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_key_exists </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$name</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fiList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[ </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$name </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] = </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$name</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">];<br /> }<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$fiList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> <br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$filesList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />}<br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br />
/*<br />
+---------+<br />| Example |<br />+---------+<br />*/ </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"><br />
print_r </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">getFolderFiles </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'C:/path/to'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'CF*.php'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,<br /> array ( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'CTag' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">),<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^CF[a-zA-Z0-9_]+$/'<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />);<br />
<br />
</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br />+--------+<br />| Output |<br />+--------+<br />
<br />
Array<br />(<br /> [CF_Comment] => C:/path/to/CF_Comment.php<br /> [CF_BBTags] => C:/path/to/CF_BBTags.php<br /> [CF_JavaScript] => C:/path/to/CF_JavaScript.php<br />)<br /><br />*/ </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-35499616725822934422011-11-20T21:41:00.001+05:002011-11-20T22:03:03.174+05:00Convert BBTags to HTML Span Tag (Recursive)<div dir="ltr" style="text-align: left;" trbidi="on"><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> * Convert BBTags to HTML span tag and put their name into CSS class.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br>
* @version 1.0<br /> * @param string $str String to process.<br /> * @param bool $tagsLowerCase Convert the names in lowercase.<br /> * @param bool $removeEmptyTags Remove the empty tags.<br /> * @return string Processed text<br />*/</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">replaceTagsToClasses </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $str</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tagsLowerCase </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$removeEmptyTags </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">true </span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">)</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">{<br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_string </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> || !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">''</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* Regex recursive pattern written by Sag-e-Attar Junaid Atari */<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match_all </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/\[([a-z]+)\](.*|(?R))\[\/\1\]/imsU'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $str</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> <br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">count </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] ) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$total </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">count </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] );<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$list </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_map </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">create_function </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'$a,$b,$lc,$rmt'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'return $rmt && !trim($b) ? "" :</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> "<span class=\"".($lc ? strtolower($a) : $a)."\">".</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> trim($b)."</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;"></span>";'</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">),<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">2</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">],</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> array_fill </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$total</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tagsLowerCase </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">),<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_fill </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$total</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$removeEmptyTags </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> );<br /> <br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">replaceTagsToClasses </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">str_replace </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$list</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$str </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">),</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $tagsLowerCase</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$removeEmptyTags<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br />}<br /></span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br />+---------+<br />| Example |<br />+---------+<br />
*/</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$subs </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'[boldA],[/boldA][a][bold][/bold]dsdd[/a][boldA],[/boldA]'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />echo </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">replaceTagsToClasses </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$subs</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">true </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /></span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br />+--------+<br />| Output |<br />+--------+<br /><span class="bolda">,</span><span class="a">dsdd</span><span class="bolda">,</span><br />
*/</span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com1tag:blogger.com,1999:blog-2142669369740360510.post-48898090215722601962011-11-17T16:22:00.001+05:002011-11-21T09:32:40.241+05:00Pakistan's Telephone Numbers Validation<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">+</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">=========================================</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">==========================</span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br />
| @title: Pakistan's Telephone numbers Validation<br /> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">|</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">@author: Sag-e-Attar Junaid Atari <mj.atari@gmail.com> </span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">|</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">@info: http://en.wikipedia.org/wiki/Telephone_numbers_in_Pakistan</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"> +</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">=========================================</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">==========================</span><br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br />
!!! PATTERNS TYPES | SUPPORTED FORMATES !!!<br /><br /> @ Premium Number<br /> # Toll Free: 0800 00000 | 0800 000 00 | 080000000<br /> # Premium Rate: 0900 00000 | 0900 000 00 | 090000000<br /><br /> @ Mobile Number<br /> > Mobile code only start with 3<br /> # Format 1: (0092)-331-5776662<br /> # Format 2: (0092)-331-577 6662<br /> # Format 2: (0092) 331 577 6662<br /> # Format 3: (+92) 345 5776662<br /> # Format 4: (+92)-345-577 6662<br /> # Format 5: (+92) 345 577 6662<br /> # Format 6: (+92)3455776662<br /> # Format 7: +923455776662<br /> # Format 8: +92-345-5776662<br /> # Format 9: +92 345 577 6662<br /> # Format 10: 0092-345-577 6662<br /> # Format 11: 03455776662<br /> # etc ...<br /><br /> @ Landline Fixed number<br /> > Area code cannot start with 3<br /> # Format 1: 0092 50 000 0000<br /> # Format 2: (0092)50 000 0000<br /> # Format 3: 009250000 0000<br /> # Format 4: 0092500000000<br /> # Format 5: +92 50 000 0000<br /> # Format 6: (+92) 50 000 0000<br /> # Format 7: +92 50 000 0000<br /> # Format 8: +9250 000 0000<br /> # Format 9: +9250000 0000<br /> # Format 10: +9250000 0000<br /> # Format 11: +9250 0000000<br /> # Format 12: 0500000000<br /> # Format 13: 051 0000000<br /> # Format 14: 061 00000000<br /> # Format 15: 061 000 000 00<br /> # Format 16: 0600 000 000<br /> # Format 17: 0600 000000<br /> # Format 18: 0600000000<br /> # Format 19: +92700000000<br /> # Format 20: 0092600000000<br /> # Format 21: 0092 600 000 000<br /> # Format 22: 0092 600000 000<br /> # Format 23: 0092 600000000<br /> # etc ...<br />*/<br /><br />/*<br /> * Validate the Pakistan telephone numbers.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.0<br />
* @param string $telNumber Tele number to valid.<br /> * @return bool TRUE on valid | else FALSE<br />*/</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isPkTelePhoneNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$telNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_string </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$telNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> && !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_int </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$telNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/* All regex patterns written by Sag-e-Attar Junaid Atari */<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$patterns </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array (</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />
</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'premiumNumber' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^0(8|9)00 ?[0-9]{3} ?[0-9]{2}$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />
</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'mobileNumber' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^((\(((\+|00)92)\)|(\+|00)92)(( |\-)?)</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> </span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">'</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">(3[0-9]{2})\6|0(3[0-9]{2})( |\-)?)[0-9]'</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> '{3}</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">( |\-)?[0-9]{4}$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br />
</span><br />
<span style="text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> </span></span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'landlineNumber' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(\((\+|00)92\)( )?|(\+|00)92( )?|0)</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span class="Apple-style-span" style="color: #dd0000; font-family: monospace;"> '</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">[1</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">-2</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">4-9]</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">([0-9]{1}( )?[0-9]{3}( )?[0-9]</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span class="Apple-style-span" style="color: #dd0000; font-family: monospace;"> '</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">{3}</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">( )?</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">[0-9]{1,</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">2}|[0-9]{2}( )?[0-9]{3}' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span class="Apple-style-span" style="color: #dd0000; font-family: monospace;"> '</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">( )?</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">[0-9]{3})$/' </span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;"> </span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /><br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$patterns </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$response[] </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$pattern</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$telNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> ? </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">true</span><br />
<span class="Apple-style-span" style="color: #007700; font-family: monospace;"> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">: </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> return ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$response</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">[</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">0</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">] || </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$response</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">[</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">1</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">] || </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$response</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">[</span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">2</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">]</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)</span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">;</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">}</span><br />
<br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/*<br /> +================================<br /> | Example of usage<br /> +================================<br />*/</span><br />
<br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isPkTelePhoneNumber </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'0092 600 000 000' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) ) </span><br />
<span style="text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> echo </span></span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'Valid number.' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n\n"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />else<br /> echo </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'Invalid Number.' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">. </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n\n"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;</span><br />
<br />
<br /></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-44137907172920126922011-11-14T11:28:00.001+05:002011-11-21T09:41:42.645+05:00Validate the Credit Card Number<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/**<br /> * Check that Credit Card number is valid or not.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com><br /> * @version 1.1<br /> * @param array $number Credit Card number<br /> * @param string $cctype Card Type to check.<br /> * @return bool TRUE on valid | else FALSE<br /> */</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">isCCNumberValid </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$number</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$cctype </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_string </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$number</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> || !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$number </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ccs </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array (</span><br />
<br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #ff8000; font-family: monospace;">/* Patterns written by Junaid Atari */</span><br />
<br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Master Card</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br /> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'master' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(5[1-5]{1})(\d{14})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<span style="font-family: monospace; text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #007700;"><br /></span><span class="Apple-style-span" style="color: #ff8000;"> </span></span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// American Express </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'amex' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^3(4|7)\d{13}$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<span style="text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span></span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Discover Card </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'discover' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^6(011|22|4|5)(\d{12}|\d{13}|\d{14})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br /> </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Visa Card </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'visa' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^4(\d{12}|\d{15})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<span style="font-family: monospace; text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #007700;"><br /></span><span class="Apple-style-span" style="color: #ff8000;"> </span></span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Dinners Club</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'dinners' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(305|36|38|54|55)(\d{12}|\d{14})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> // Carte Blanche </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'carte' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^(30[0-5]{1})(\d{11})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><br />
<span style="text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span></span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// enRoute </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'enroute' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^2(014|149)\d{11}$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br />
</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Laser</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'laser' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^6(304|706|771|709)(\d{12}|\d{13}|\d{14}'</span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">.</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> '|d{\15})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><br />
<span style="font-family: monospace; text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #ff8000;">
</span></span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">// Visa Electron </span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;"> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'visaelec' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">=> </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/^4(17500|917|913|844|508)(\d{10}|\d{12})$/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br />
</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /><br /> if ( !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">is_string </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$cctype </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> || !</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">array_key_exists</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">strtolower </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$cctype</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) , </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ccs </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) )<br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">false</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> return (bool) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ccs</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$cctype</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$number </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br />} </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-32309324980338227532011-11-14T10:00:00.001+05:002011-11-14T11:09:40.817+05:00Remove Tags from String<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/**<br /> * Remove the tags list from given string.<br /> *<br /> * @author Junaid Atari <mj.atari@gmail.com</span><span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">></span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;"><br /> * @version 1.1<br /> * @param array $tagsList Url of page<br /> * @param string $contents Variable which need to be clean.<br /> * @return string Will direct update the variable in memory.<br /> */</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">removeTags </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( array </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tagsList</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$contents </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tagsList </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_quote </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) );</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$contents </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(string) </span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">$contents</span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">;</span><br />
<span style="text-align: -webkit-auto;"><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> </span><br /><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> if ( </span></span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">!= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'' </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) <br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">//** Pattern copyright 2011 Junaid Atari<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_replace </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'/((<'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'.*(\/>|>.*<\/'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tag</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> '>)))(\s)?/imsU'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">''</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$contents </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> return </span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;">$contents</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br />} </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-49715177557388969632011-11-14T09:49:00.001+05:002011-11-14T09:55:26.949+05:00Beautify JSON string<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/**<br /> * pretty_json ()<br /> * beautify the JSON string<br /> *<br /> * Use 'indent' option to select indentation string - by default it's a tab<br /> *<br /> * @param string $json Original JSON string<br /> * @param array $options Encoding options<br /> * @return string Beautified JSON string<br /> */</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">pretty_json </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$json</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$options </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= array() )<br />{<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tokens </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_split </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'|([\{\}\]\[,])|'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">,</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $json</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, -</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">PREG_SPLIT_DELIM_CAPTURE</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">""</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ind </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\t"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br /> if ( isset ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$options</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'indent'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] ) )</span><br />
<span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;"> $ind </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$options</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">'indent'</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">];<br /><br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$tokens </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) continue;<br /><br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$prefix </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">str_repeat </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ind</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">); </span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"><br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"{"<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">|| </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"[" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">++;<br /> if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">!= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">""<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">&& </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">strlen </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">(</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) - </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">] == </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$prefix</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> <br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">\n"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> else if ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"}"<br /> </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">|| </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"]" </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> {<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">--;<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$prefix </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">str_repeat </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$ind</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$indent </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"\n</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$prefix$token</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> else if (</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">== </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">","</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">\n"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> else </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$prefix</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$token</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /> }<br /> <br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$result</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />} </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-71277018582107279952011-07-10T23:23:00.001+05:002011-11-14T10:10:30.478+05:00SQL splitter<div dir="ltr" style="text-align: left;" trbidi="on">
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">Split SQL text into multiple queries and return array.</span><br />
<br />
<span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">/**<br /> * Split the SQL dump code and return the queries array.<br /> *<br /> * @version 1.0<br /> * @access public<br /> * @param string $sql SQL code to parse.<br /> * @return array List of queries in array.<br /> */</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">function </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">splitSQL </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br />{<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// the regex needs a trailing semicolon<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">trim </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">(string) </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">); </span><br />
<span style="text-align: -webkit-auto;"><br /><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> if ( </span></span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">substr </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, -</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1 </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">) != </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">";"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">.= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">";"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// i spent 3 days figuring out this line<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">preg_match_all</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">"/(?>[^;']|(''|(?>'([^']|\\')*[^\\\]')"</span><span class="Apple-style-span" style="color: #007700; font-family: monospace;">.</span><br />
<span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;"> "))+;/ixU"</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$query</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">PREG_SET_ORDER </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">); </span><br />
<span style="text-align: -webkit-auto;"><br /><span class="Apple-style-span" style="color: #007700; font-family: monospace;"> </span></span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$querySplit </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">= </span><span style="color: #dd0000; font-family: monospace; text-align: -webkit-auto;">""</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br /><br /> foreach ( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$matches </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">as </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$match </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">)</span><br />
<span style="color: #007700; font-family: monospace; text-align: -webkit-auto;"> {<br /> </span><span style="color: #ff8000; font-family: monospace; text-align: -webkit-auto;">// get rid of the trailing semicolon<br /> </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$querySplit</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[] = </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">substr</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">( </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$match</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">[</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">], </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">0</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">, -</span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">1 </span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">);<br /> }<br /><br /> return </span><span style="color: #0000bb; font-family: monospace; text-align: -webkit-auto;">$querySplit</span><span style="color: #007700; font-family: monospace; text-align: -webkit-auto;">;<br />} </span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-46632023178239030272011-05-23T14:15:00.002+05:002011-05-23T14:19:07.723+05:00Validating the Price<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">It will check that given text is valid price or not.</span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b><br />
</b></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>Pattern Rules:</b><br />
<b>1</b>: Supports 0.01 to </span></span></span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">0.</span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">99</span><br />
<span class="Apple-style-span" style="color: #333333; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; font-weight: normal; line-height: normal;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>2</b>: Supports 1.00 to </span></span></span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">########.</span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">99</span></span></b></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; line-height: normal;"><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;"></span></span></span><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>3</b>: 0, 0.00, None numeric chars or at least two . (dots) are not allowed.</span></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="color: black; font-family: 'Times New Roman'; font-size: small; line-height: normal;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>4</b>: .## (float/pr</span></span></span></span></span></span></span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">e</span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS', sans-serif; font-size: 14px; line-height: 22px;">cision points) are optional.</span><br />
<span class="Apple-style-span" style="color: #333333; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"> <br />
<span class="Apple-style-span" style="color: black; font-family: monospace; font-size: small; line-height: normal;"><span style="color: #ff8000;">/**<br />
* is_price_valid ()<br />
* Checkout that given price is valid or not.<br />
*<br />
* @author Junaid Atari <mj.atari@gmail.com><br />
* @version 1.0<br />
* @param string $price String to check.<br />
* @return bool True on valid, False on invalid.<br />
*/ </span></span></span></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="color: black; font-family: monospace; font-size: small; line-height: normal;"><span style="color: #ff8000;"></span><span style="color: #007700;">function </span><span style="color: #0000bb;">is_price_valid </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$price</span><span style="color: #007700;">)<br />
{<br />
if (!</span><span style="color: #0000bb;">is_string </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$price</span><span style="color: #007700;">)<br />
|| </span><span style="color: #0000bb;">trim </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$price</span><span style="color: #007700;">) == </span><span style="color: #dd0000;">''</span><span style="color: #007700;">)<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
<br />
</span><span style="color: #ff8000;">//** Pattern copyright 2011 Junaid Atari<br />
<br />
//** Upto 8 chars allowed before . (dot).<br />
//** Support 2 percisions after . (dot).<br />
</span><span style="color: #007700;">return </span><span style="color: #0000bb;">preg_match </span><span style="color: #007700;">(</span><span style="color: #dd0000;">'/^0\.([0-9][1-9]|[1-9][0-9])'</span><span style="color: #007700;">.<br />
</span><span style="color: #dd0000;">'|[1-9][0-9]{0,7}(\.[0-9][0-9])?$/x'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$price</span><span style="color: #007700;">) == </span><span style="color: #0000bb;">0<br />
</span><span style="color: #007700;">? </span><span style="color: #0000bb;">false<br />
</span><span style="color: #007700;">: </span><span style="color: #0000bb;">true</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">/*<br />
+========================================<br />
| EXAMPLE<br />
+========================================<br />
*/ </span></span></span></span></span><br />
<span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="font-family: monospace; font-size: small; line-height: normal;"><span style="color: #ff8000;"></span><span style="color: #007700;">echo </span><span style="color: #dd0000;">"Is valid price? " </span><span style="color: #007700;">. (</span><span style="color: #0000bb;">is_price_valid </span><span style="color: #007700;">(</span><span style="color: #dd0000;">'111'</span><span style="color: #007700;">) ? </span><span style="color: #dd0000;">'Yes' </span><span style="color: #007700;">: </span><span style="color: #dd0000;">'No'</span><span style="color: #007700;">);<br />
</span><span class="Apple-style-span" style="color: #ff8000;">/* </span><br />
<span class="Apple-style-span" style="color: #ff8000;"> +======================================== </span><br />
<span class="Apple-style-span" style="color: #ff8000;"> | EXAMPLE </span><br />
<span class="Apple-style-span" style="color: #ff8000;"> +======================================== </span><br />
<span class="Apple-style-span" style="color: #ff8000;">*/ </span><br />
<span class="Apple-style-span" style="color: #ff8000;"># Is valid price? Yes</span></span></span></span></span><br />
<span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"><span class="Apple-style-span" style="font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="font-family: monospace; font-size: small; line-height: normal;"><span class="Apple-style-span" style="color: #ff8000;"># 1, 0.01, 121.99, 1.00 are valid prices.</span> <span class="Apple-style-span" style="color: #ff8000;"><br />
</span></span></span></span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-67656661221543077502011-04-28T15:21:00.000+05:002011-04-28T15:21:28.396+05:00Get Hex colors from string.<div dir="ltr" style="text-align: left;" trbidi="on">It will parse the string and collect all the unique hex colors.<br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><br />
<?php<br />
</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">/** </span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"> * get_hex_colors ()<br />
* Collect all unique hex colors from string.<br />
*<br />
* @author Junaid Atari <mj.atari@gmail.com><br />
* @version 1.0<br />
* @param string $str String to check.<br />
* @return array List of unique hex colors<br />
*/</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"></span><span style="color: #007700;">function </span><span style="color: #0000bb;">get_hex_colors </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #ff8000;">//** Pattern copyright 2011 Junaid Atari<br />
<br />
//** Hex colors range (A to F , 0 to 9)<br />
//** Supports 4 chars color code (with hash sign) #000<br />
//** Supports 7 chars color code (with hash sign) #000000<br />
//** Case insensitive<br />
</span><span style="color: #0000bb;">preg_match_all </span><span style="color: #007700;">(</span><span style="color: #dd0000;">"/#[a-f0-9]{6}|#[a-f0-9]{3}/i"</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$str</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">$results</span><span style="color: #007700;">, </span><span style="color: #0000bb;">PREG_PATTERN_ORDER</span><span style="color: #007700;">);<br />
<br />
</span><span style="color: #ff8000;">//** Remove duplicate hex entries.<br />
</span><span style="color: #007700;">return </span><span style="color: #0000bb;">array_unique </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$results</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">]);<br />
}<br />
<br />
</span><span style="color: #ff8000;">/*<br />
+========================================<br />
| EXAMPLE<br />
+========================================<br />
*/<br />
</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">=</span><span style="color: #dd0000;">'<br />
.SearchFormat<br />
{ float:left;<br />
width:160px; height:17px;<br />
border:0px;<br />
border-left:1px dotted #ccc; <br />
font-size:12px;<br />
color:#333;<br />
margin-top:4px;<br />
margin-left:30px;<br />
background-color:#fff;<br />
}<br />
<br />
.MainLinks<br />
{ width:890px;<br />
float:left;<br />
top:133px;<br />
left:0px;<br />
text-align:right;<br />
color:#CCCCCC;<br />
}<br />
'</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">print_r </span><span style="color: #007700;">( </span><span style="color: #0000bb;">get_hex_colors </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">) );<br />
<br />
</span><span style="color: #ff8000;">/*<br />
+========================================<br />
| OUTPUT<br />
+========================================<br />
*/<br />
<br />
/*<br />
Array<br />
(<br />
[0] => #ccc<br />
[1] => #333<br />
[2] => #fff<br />
[3] => #CCCCCC<br />
)<br />
*/ </span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-58767150990527338292011-04-28T11:02:00.000+05:002011-04-28T11:02:22.702+05:00Remove inline CSS from HTML<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">Here, Please checkout the code:</span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><br />
</span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><?php</span><br />
<span class="Apple-style-span" style="color: #ff8000; font-family: monospace;">/** </span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"> * remove_inline_css ()<br />
* Remove the inline CSS styles for HTML tags.<br />
*<br />
* @author Junaid Atari <mj.atari@gmail.com><br />
* @version 1.0<br />
* @param string $subject String to remove styles.<br />
* @return string Filtered HTML string.<br />
*/</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"></span><span style="color: #007700;">function </span><span style="color: #0000bb;">remove_inline_css </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$subject</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #ff8000;">//** Return if invalid type given.<br />
</span><span style="color: #007700;">if (!</span><span style="color: #0000bb;">is_string </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$subject</span><span style="color: #007700;">)</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;"> || </span><span style="color: #0000bb;">trim </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$subject</span><span style="color: #007700;">) == </span><span style="color: #dd0000;">''</span><span style="color: #007700;">)<br />
return </span><span style="color: #dd0000;">'No text given.'</span><span style="color: #007700;">;<br />
<br />
</span><span style="color: #ff8000;">//** Create the anonymous function on Runtime.<br />
</span><span style="color: #0000bb;">$cr </span><span style="color: #007700;">= </span><span style="color: #0000bb;">create_function </span><span style="color: #007700;">(</span><span style="color: #dd0000;">'$matches'</span><span style="color: #007700;">,</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;"></span><span style="color: #dd0000;"> 'return str_replace ($matches[2], "", $matches[0]);'</span><span style="color: #007700;">);<br />
<br />
</span><span style="color: #ff8000;">//** Pattern copyright 2011 Junaid Atari<br />
//** Return with Regex, only find the style=".*" attribute</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"> of any tag<br />
//** and replace using callback.<br />
</span><span style="color: #007700;">return </span><span style="color: #0000bb;">preg_replace_callback </span><span style="color: #007700;">(</span><span style="color: #dd0000;">'/(<[^>]+( style=".*").*>)/iU'</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">$cr</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">$subject</span><span style="color: #007700;">);<br />
}</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;"></span><span style="color: #ff8000;">/*<br />
+========================================<br />
| EXAMPLE<br />
+========================================<br />
*/</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;"></span><span style="color: #0000bb;">$subject </span><span style="color: #007700;">= </span><span style="color: #dd0000;">'<a target="_blank" style="color:red;">This is my test</a>'</span><span style="color: #007700;">;<br />
</span><span style="color: #ff8000;"></span><span style="color: #007700;">echo </span><span style="color: #0000bb;">remove_inline_css </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$subject</span><span style="color: #007700;">); </span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;"><br />
</span><span style="color: #ff8000;">/*<br />
+========================================<br />
| OUTPUT<br />
+========================================<br />
*/<br />
<br />
//<a target="_blank">This is my test</a></span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-16225071045042329512011-04-26T22:38:00.004+05:002011-04-26T22:42:04.023+05:00Validating the constant name (Recurcivly)<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">It will recursively check that given text is valid constant name or not.</span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b><br />
</b></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>Pattern Rules:</b><br />
1. Only A to Z , underscore (_) are allowed.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">2. Repeating underscores (_) at once are now allowed.</span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">3. Up to 45 chars allowed.</span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"></span></span><span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><br />
<?php </span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="color: black; font-family: monospace; line-height: normal;"><span style="color: #0000bb;"><br />
</span><span style="color: #ff8000;">/*<br />
Validating the constant name (Recurcivly)<br />
-----------------------------------------<br />
(Logic/Pattern) Written by Junaid Atari<br />
<br />
+ Examples:<br />
- ACCESS_IS_ALLOWED<br />
- DIR_SEPERATOR<br />
- HOLDER<br />
- N_A_M_E_I_S_N_O_N_E<br />
*/<br />
<br />
//# Constant name to validate.</span></span></span></span><br />
<span class="Apple-style-span" style="color: #333333; font-family: arial, serif; line-height: 22px;"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="color: black; font-family: monospace; line-height: normal;"><span style="color: #ff8000;"></span><span style="color: #0000bb;">$name </span><span style="color: #007700;">= </span><span style="color: #dd0000;">'ACTION_STATUS'</span><span style="color: #007700;">;<br />
<br />
echo </span><span style="color: #0000bb;">preg_match </span><span style="color: #007700;">(</span><span style="color: #dd0000;">'/^([A-Z]{1}([_]?)){2,43}[A-Z]$/'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$name</span><span style="color: #007700;">)<br />
? </span><span style="color: #dd0000;">'Constant name is Valid'<br />
</span><span style="color: #007700;">: </span><span style="color: #dd0000;">'</span></span></span></span><span class="Apple-style-span" style="color: #dd0000; font-family: monospace;">Constant </span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #dd0000;">name is not valid'</span><span style="color: #007700;">;</span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-49140488149134503052011-04-26T22:30:00.001+05:002011-04-26T22:32:03.936+05:00Validating the name (Recurcivly)<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">It will recursively check that given text is valid name or not.<br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>Pattern Rules:</b><br />
1. Only A to Z, a to z , space and - (dash) are allowed.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">2. Repeated spaces, dashes (-) at once are now allowed.</span><br />
<br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #0000bb;"><?php<br />
</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #ff8000;">/*<br />
Validating the name (Recurcivly)<br />
-----------------------------------------<br />
(Logic/Pattern) Written by Junaid Atari<br />
<br />
+ Examples:<br />
- Muhammad<br />
- Junaid Atari<br />
- Sag-e-Attar <br />
*/<br />
<br />
//# Name to validate.</span></span><br />
<span class="Apple-style-span" style="font-family: monospace;"><span style="color: #0000bb;">$name </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">= </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #dd0000;">'Ali Attar'</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">;<br />
<br />
echo </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #0000bb;">preg_match </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">(</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #dd0000;">'/^([a-zA-Z]+)(?:[a-zA-Z]+[\s-]?)*$/'</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">, </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #0000bb;">$name</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">)<br />
? </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #dd0000;">'Name is Valid'<br />
</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">: </span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #dd0000;">'Name is not valid'</span></span><span class="Apple-style-span" style="font-family: monospace;"><span style="color: #007700;">;</span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-3678814296984548932011-04-26T22:11:00.002+05:002011-04-27T10:28:05.490+05:00Validating the URL<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">Here I have wrote the recursive PCRE pattern for URL, hope you like it.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"></span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><b>Recursive URL pattern features:</b></span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">-------------------------------------------------------</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>1</b></span></span>. Protocols https|http|ftp|ftps</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>2</b></span></span>. WWW optional or only one.</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>3</b></span></span>. Subdomain (unlimited) (Recursively match the subdomains) & (repeatedly - . at</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"> </span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"> </span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"> </span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"> </span><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">same time are not allowed).</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>4</b></span></span>. domain only one (repeatedly - . at same time are not allowed).</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>5</b></span></span>. extention only one mimimum 2, max five (repeatedly . at same time are not allowed).</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><span class="Apple-style-span" style="background-color: #ffe599;"><span class="Apple-style-span" style="color: #cc0000;"><b>6</b></span></span>. End forward slash (/) is Optional.</span><br />
<br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #0000bb;"><?php</span></span></span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #0000bb;"><br />
</span><span style="color: #ff8000;">/**<br />
* is_valid_url ()<br />
* Validate that given text is valid URL or not.<br />
*<br />
* @author Junaid Atari <mj.atari@gmail.com><br />
* @version 1.0<br />
* @param string $str Text to validate.<br />
* @return bool TRUE on valid | FALSE on invalid.<br />
*/</span></span></span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #ff8000;"></span><span style="color: #007700;">function </span><span style="color: #0000bb;">is_valid_url </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #ff8000;">//** Return if string not given or empty.<br />
</span><span style="color: #007700;">if (!</span><span style="color: #0000bb;">is_string </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">)<br />
|| </span><span style="color: #0000bb;">trim </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">) == </span><span style="color: #dd0000;">''</span><span style="color: #007700;">)<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
<br />
</span><span style="color: #ff8000;">//** Recursive url pattern written by Junaid Atari.<br />
</span><span style="color: #007700;">return </span><span style="color: #0000bb;">preg_match </span><span style="color: #007700;">( </span><span style="color: #dd0000;">'/^((http|ftp)(s?):\/\/)(www\.)?'</span><span style="color: #007700;">.<br />
</span><span style="color: #dd0000;">'([a-z0-9]{1}([\-\.])?)*'</span><span style="color: #007700;">.<br />
</span><span style="color: #dd0000;">'([a-z0-9]{1}([\-])?){1}'</span><span style="color: #007700;">.<br />
</span><span style="color: #dd0000;">'(\.[a-z]{2,4})\/?$/i'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$str </span><span style="color: #007700;">) == </span><span style="color: #0000bb;">0<br />
</span><span style="color: #007700;">? </span><span style="color: #0000bb;">false<br />
</span><span style="color: #007700;">: </span><span style="color: #0000bb;">true</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">/*<br />
+=======================================<br />
| Example<br />
+=======================================<br />
*/<br />
</span><span style="color: #0000bb;">$urls </span><span style="color: #007700;">= array (<br />
</span><span style="color: #dd0000;">'http://www.yahoo.com/'</span><span style="color: #007700;">,<br />
</span><span style="color: #dd0000;">'http://code.google.com'</span><span style="color: #007700;">,<br />
</span><span style="color: #dd0000;">'https://login.live.com/'</span><span style="color: #007700;">,<br />
</span><span style="color: #dd0000;">'http://my.name.is.domain.com.pk/'</span><span style="color: #007700;">,<br />
</span><span style="color: #dd0000;">'https://www.name.is.2k-pcre.co.uk/'</span><span style="color: #007700;">,<br />
);<br />
<br />
foreach (</span><span style="color: #0000bb;">$urls </span><span style="color: #007700;">as </span><span style="color: #0000bb;">$url</span><span style="color: #007700;">)<br />
echo </span><span style="color: #0000bb;">$url </span><span style="color: #007700;">.</span><span style="color: #dd0000;">" (" </span><span style="color: #007700;">. (</span><span style="color: #0000bb;">is_valid_url </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$url</span><span style="color: #007700;">)<br />
? </span><span style="color: #dd0000;">'Valid'<br />
</span><span style="color: #007700;">: </span><span style="color: #dd0000;">'Not valid'</span><span style="color: #007700;">) . </span><span style="color: #dd0000;">")<br />"</span><span style="color: #007700;">;<br />
</span><span style="color: #ff8000;">/*<br />
+=======================================<br />
| Output<br />
+=======================================<br />
*/<br />
<br />
/*<br />
http://www.yahoo.com/ (Valid)<br />
http://code.google.com (Valid)<br />
https://login.live.com/ (Valid)<br />
http://my.name.is.domain.com.pk/ (Valid)<br />
https://www.name.is.2k-pcre.co.uk/ (Valid)<br />
*/</span></span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com0tag:blogger.com,1999:blog-2142669369740360510.post-10777773061888202422011-04-26T15:19:00.006+05:002011-04-28T11:04:55.621+05:00Recursively remove the empty html tags<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">Hello </span><b style="font-family: 'Trebuchet MS', sans-serif;">Guys</b><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">,<br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;">Here i have wrote the new function and REGEX pattern to remove the nested empty tags (nested) from string. Watch yourself below.<br />
</span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #0000bb;"><?php<br />
<br />
</span><span style="color: #ff8000;">/**<br />
* remove_empty_tags_recursive ()<br />
* Remove the nested HTML empty tags from the string.<br />
*<br />
* @author Junaid Atari <mj.atari@gmail.com><br />
* @version 1.0<br />
* @param string $str String to remove tags.<br />
* @param string $repto Replace empty string with.<br />
* @return string Cleaned string.<br />
*/</span><span style="color: #007700;"><br />
function </span><span style="color: #0000bb;">remove_empty_tags_recursive </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$repto </span><span style="color: #007700;">= </span><span style="color: #0000bb;">NULL</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #ff8000;">//** Return if string not given or empty.<br />
</span><span style="color: #007700;">if (!</span><span style="color: #0000bb;">is_string </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">)<br />
|| </span><span style="color: #0000bb;">trim </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">) == </span><span style="color: #dd0000;">''</span><span style="color: #007700;">)<br />
return </span><span style="color: #0000bb;">$str</span><span style="color: #007700;">;<br />
<br />
</span><span style="color: #ff8000;">//** Recursive empty HTML tags.<br />
</span><span style="color: #007700;">return </span><span style="color: #0000bb;">preg_replace </span><span style="color: #007700;">(<br />
<br />
</span><span style="color: #ff8000;">//** Pattern written by Junaid Atari.<br />
</span><span style="color: #dd0000;">'/<([^<\/>]*)>([\s]*?|(?R))<\/\1>/imsU'</span><span style="color: #007700;">,<br />
<br />
</span><span style="color: #ff8000;">//** Replace with nothing if string empty.<br />
</span><span style="color: #007700;">!</span><span style="color: #0000bb;">is_string </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$repto</span><span style="color: #007700;">) ? </span><span style="color: #dd0000;">'' </span><span style="color: #007700;">: </span><span style="color: #0000bb;">$repto</span><span style="color: #007700;">,<br />
<br />
</span><span style="color: #ff8000;">//** Source string<br />
</span><span style="color: #0000bb;">$str<br />
</span><span style="color: #007700;">);<br />
}<br />
</span><span style="color: #ff8000;">/*<br />
+=====================================<br />
| EXAMPLE<br />
+=====================================<br />
*/<br />
</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">=<<<EOF</span></span></span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #007700;"></span><span style="color: #dd0000;"><p></p><br />
<div id="paralax"><br />
<div><p></p>Hello User,<strong></strong></div><br />
<div id="contents">Welcome to our domain.</div><p><p><p></p></p></p><br />
</div></span></span></span><br />
<span class="Apple-style-span" style="color: #0000bb; font-family: monospace;"><span class="Apple-style-span" style="color: black;"><span style="color: #dd0000;"></span><span style="color: #007700;">EOF;<br />
<br />
echo </span><span style="color: #0000bb;">remove_empty_tags_recursive </span><span style="color: #007700;">(</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">);<br />
</span><span style="color: #ff8000;">/*<br />
+=====================================<br />
| OUTPUT:<br />
+=====================================<br />
*/<br />
<br />
/*<div id="paralax"><br />
<div>Hello User,</div><br />
<div id="contents">Welcome to our domain.</div><br />
</div>*/</span></span></span><br />
<span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"><br />
<span class="Apple-style-span" style="font-size: x-small;">Hope you like it.</span></span></div>جنید عطاریhttp://www.blogger.com/profile/04848025394718335245noreply@blogger.com2