<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bagesh Singh&#039;s Blog -  A blog about PHP, Ajax, JavaScript, CSS, Web 2.0 and Web Development &#187; php</title>
	<atom:link href="http://www.bageshsingh.com/bagesh-blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bageshsingh.com/bagesh-blog</link>
	<description>The shortest distance to a software &#38; web solutions</description>
	<lastBuildDate>Thu, 09 Sep 2010 11:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP/MYSQL Course In Delhi At VSIT.IN</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/phpmysql-course-in-delhi-at-vsit-in/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/phpmysql-course-in-delhi-at-vsit-in/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 18:14:00 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[PHP Third Party Tools]]></category>
		<category><![CDATA[Web Security]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[drupal training]]></category>
		<category><![CDATA[php training]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=740</guid>
		<description><![CDATA[PHP Basics
Installing PHP
Basic Scripting
PHP Building Blocks
PHP Structures
Function
Array
Objects
Working with Forms
Working with Files
Database Integration &#8211; MySQL
More Commands
Dates
Cookies/Session
Debugging
AJAX
Wordpress
Payment Gateway
Oscommerce/joomla
Live Project
Hidden Features: Live Project , PD Classess, Resume Making Training, How to find Good Job in Web Developement , Project Analysis, Experience Certificates.
]]></description>
			<content:encoded><![CDATA[<p>PHP Basics<br />
Installing PHP<br />
Basic Scripting<br />
PHP Building Blocks<br />
PHP Structures<br />
Function<br />
Array<br />
Objects<br />
Working with Forms<br />
Working with Files<br />
Database Integration &#8211; MySQL<br />
More Commands<br />
Dates<br />
Cookies/Session<br />
Debugging<br />
AJAX<br />
Wordpress<br />
Payment Gateway<br />
Oscommerce/joomla<br />
Live Project</p>
<p>Hidden Features: Live Project , PD Classess, Resume Making Training, How to find Good Job in Web Developement , Project Analysis, Experience Certificates.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/phpmysql-course-in-delhi-at-vsit-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to read excel file in php</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-read-excel-file-in-php/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-read-excel-file-in-php/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 17:19:28 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[excel reader]]></category>
		<category><![CDATA[file reader in php]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=619</guid>
		<description><![CDATA[2 Techniques
Access the raw Excel Binary File
Use the Excel API
Both techniques have their advantages and disadvantages as you will see during this presentation
Access the raw Excel Binary File &#8211; 1
There is a php library written that can access a raw Excel binary file. Benefits include that it is easy and straight forward to use, has [...]]]></description>
			<content:encoded><![CDATA[<p>2 Techniques<br />
Access the raw Excel Binary File<br />
Use the Excel API</p>
<p>Both techniques have their advantages and disadvantages as you will see during this presentation<br />
Access the raw Excel Binary File &#8211; 1</p>
<p>There is a php library written that can access a raw Excel binary file. Benefits include that it is easy and straight forward to use, has plenty of documentation and examples, and only has one include file of approximately 800 lines. No need for special php compile flags etc, and can be used straight from the download.<br />
Access the raw Excel Binary File &#8211; 2</p>
<p>sample code<br />
&lt;?php<br />
require_once &#8216;Excel/reader.php&#8217;;</p>
<p>// ExcelFile($filename, $encoding);<br />
$data = new Spreadsheet_Excel_Reader();</p>
<p>// Set output Encoding.<br />
$data-&gt;setOutputEncoding(&#8216;CP1251&#8242;);</p>
<p>$data-&gt;read(&#8216;filename.xls&#8217;);</p>
<p>//display cell in row 3, column 4 (D)<br />
echo $data-&gt;sheets[0]['cells'][3][4];<br />
?&gt;<br />
Access the raw Excel Binary File &#8211; 3</p>
<p>The $data-&gt;sheets[0]['cells'] array has other elements that can be used instead of cells (otherwise it wouldn&#8217;t be an array). You can also use numRows or numCols which returns the number or rows or columns respectivily. cellsinfo contains an array itself in which you can retrieve cell information i.e. background color, formating, cell type (number, character etc), column or rowspan etc&#8230;<br />
Access the raw Excel Binary File &#8211; 4</p>
<p>Important The Excel Reader library can be used on any platform, not just Windows. Some aspects DO NOT work, e.g. Lookup Tables, and there maybe more. You will need to be comfortable with arrays, and understand the alphabet sequence, i.e. D =&gt; 4.</p>
<p>Links<br />
php excel reader<br />
php excel writer</p>
<p>There is a link at openoffice.org for the excel file specification, but I forgot to put that link in. Sorry.<br />
Use the Excel API &#8211; 1</p>
<p>Microsoft have provided an API to access it&#8217;s popular products such as Word, Excel, PowerPoint etc. The language commonly refered to is VBA, and this can be accessed via a COM object. Benefits: The major benefit is that it is provided by the product vendor! Another aspect is that it is fairly intuitive, and the techniques can be ported to other Microsoft products<br />
Use the Excel API &#8211; 2</p>
<p>Sample Code<br />
&lt;?php<br />
$excel_app = new COM(&#8220;Excel.application&#8221;) or Die (&#8220;Did not connect&#8221;);<br />
$Workbook = $excel_app-&gt;Workbooks-&gt;Open(&#8216;filename&#8217;) or Die(&#8216;Did not open filename&#8217;);<br />
$Worksheet = $Workbook-&gt;Worksheets(&#8217;sheet1&#8242;);<br />
$Worksheet-&gt;activate;</p>
<p>$excel_cell = $Worksheet-&gt;Range(&#8216;D3&#8242;);<br />
$excel_cell-&gt;activate;</p>
<p>echo $excel_cell-&gt;value;<br />
&#8230;</p>
<p>Use the Excel API &#8211; 3</p>
<p>Sample Code &#8211; closing off<br />
$Workbook-&gt;Save();<br />
$Workbook-&gt;Saved = true;<br />
$Workbook-&gt;Close;</p>
<p>unset($Worksheet);<br />
unset($Workbook);</p>
<p>$excel_app-&gt;Workbooks-&gt;Close();<br />
$excel_app-&gt;Quit();</p>
<p>unset($excel_app);<br />
?&gt;<br />
Use the Excel API &#8211; 4</p>
<p>There are plenty of API functions available and the documentation is pretty crappy, but with good examples and notes. Anything that you can do in Excel can also be done via the API. This includes lookup tables, formulas, protected sheets etc&#8230;</p>
<p>You will also notice from the example code that you can refer to cell coordinates the same way that you view them in Excel, i.e. D3.</p>
<p>Links<br />
VBA reference &#8211; Excel<br />
Conclusion &#8211; 1</p>
<p>Two methods of accessing an Excel file have been presented tonight. One method was directly accesssing the raw binary, the other was via the API. Accessing the raw binary is a bit of a hack. Microsoft do not provide the file format, but instead you must rely on a third party to provide the information.</p>
<p>Classes that have been written work for simple cases, however more complex situations can not be resolved. The benefit however is that this method can be used on any platform and does not require Excel to be installed.<br />
Conclusion &#8211; 2</p>
<p>Using the Excel API is by far the preferred technique. The API was written by the product vendors, and anything you can do in Excel can be replicated with the API. The Microsoft documentation is pretty crappy, but I&#8217;m sure there are good books in the market that can fill the gap. Understanding the object model means that the techniques can be ported to other office applications.</p>
<p>Using VBA does require Excel to be installed on the server, and if my knowledge is correct this also means you must have a Windows Server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-read-excel-file-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sexy Drop Down Menu w/ jQuery &amp; CSS</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/sexy-drop-down-menu-w-jquery-css/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/sexy-drop-down-menu-w-jquery-css/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 16:01:41 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=617</guid>
		<description><![CDATA[Studies show that top navigations tend to get the most visual attention when a user first visits a site. Having organized and intuitive navigation is key — and while most drop down menus may look aesthetically pleasing, developing them to degrade gracefully is also essential. In this tutorial I would like to go over how [...]]]></description>
			<content:encoded><![CDATA[<p>Studies show that top navigations tend to get the most visual attention when a user first visits a site. Having organized and intuitive navigation is key — and while most drop down menus may look aesthetically pleasing, developing them to degrade gracefully is also essential. In this tutorial I would like to go over how to create a sexy drop down menu that can also degrade gracefully.</p>
<p>View Demo of Sexy Drop Down Menu</p>
<p>Step1. HTML</p>
<p>First create an unordered list for your base top navigation. Then simply nest another unordered list for your sub navigation.<br />
view plaincopy to clipboardprint?<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Home&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;a href=&#8221;#&#8221;&gt;Tutorials&lt;/a&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Sub Nav Link&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Sub Nav Link&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;a href=&#8221;#&#8221;&gt;Resources&lt;/a&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Sub Nav Link&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Sub Nav Link&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;About Us&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Advertise&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Submit&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Contact Us&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
Step2. CSS</p>
<p>Next, it’s time to style the navigation wireframe with CSS.<br />
view plaincopy to clipboardprint?<br />
ul.topnav {<br />
list-style: none;<br />
padding: 0 20px;<br />
margin: 0;<br />
float: left;<br />
width: 920px;<br />
background: #222;<br />
font-size: 1.2em;<br />
background: url(topnav_bg.gif) repeat-x;<br />
}<br />
ul.topnav li {<br />
float: left;<br />
margin: 0;<br />
padding: 0 15px 0 0;<br />
position: relative; /*&#8211;Declare X and Y axis base for sub navigation&#8211;*/<br />
}<br />
ul.topnav li a{<br />
padding: 10px 5px;<br />
color: #fff;<br />
display: block;<br />
text-decoration: none;<br />
float: left;<br />
}<br />
ul.topnav li a:hover{<br />
background: url(topnav_hover.gif) no-repeat center top;<br />
}<br />
ul.topnav li span { /*&#8211;Drop down trigger styles&#8211;*/<br />
width: 17px;<br />
height: 35px;<br />
float: left;<br />
background: url(subnav_btn.gif) no-repeat center top;<br />
}<br />
ul.topnav li span.subhover {background-position: center bottombottom; cursor: pointer;} /*&#8211;Hover effect for trigger&#8211;*/<br />
ul.topnav li ul.subnav {<br />
list-style: none;<br />
position: absolute; /*&#8211;Important &#8211; Keeps subnav from affecting main navigation flow&#8211;*/<br />
left: 0; top: 35px;<br />
background: #333;<br />
margin: 0; padding: 0;<br />
display: none;<br />
float: left;<br />
width: 170px;<br />
border: 1px solid #111;<br />
}<br />
ul.topnav li ul.subnav li{<br />
margin: 0; padding: 0;<br />
border-top: 1px solid #252525; /*&#8211;Create bevel effect&#8211;*/<br />
border-bottom: 1px solid #444; /*&#8211;Create bevel effect&#8211;*/<br />
clear: both;<br />
width: 170px;<br />
}<br />
html ul.topnav li ul.subnav li a {<br />
float: left;<br />
width: 145px;<br />
background: #333 url(dropdown_linkbg.gif) no-repeat 10px center;<br />
padding-left: 20px;<br />
}<br />
html ul.topnav li ul.subnav li a:hover { /*&#8211;Hover effect for subnav links&#8211;*/<br />
background: #222 url(dropdown_linkbg.gif) no-repeat 10px center;<br />
}<br />
Step3. jQuery</p>
<p>For those who are new to jQuery, you can learn about it here.</p>
<p>The following script contains comments explaining which jQuery actions are being performed.<br />
view plaincopy to clipboardprint?<br />
$(document).ready(function(){</p>
<p>$(&#8220;ul.subnav&#8221;).parent().append(&#8220;&lt;span&gt;&lt;/span&gt;&#8221;); //Only shows drop down trigger when js is enabled (Adds empty span tag after ul.subnav*)</p>
<p>$(&#8220;ul.topnav li span&#8221;).click(function() { //When trigger is clicked&#8230;</p>
<p>//Following events are applied to the subnav itself (moving subnav up and down)<br />
$(this).parent().find(&#8220;ul.subnav&#8221;).slideDown(&#8216;fast&#8217;).show(); //Drop down the subnav on click</p>
<p>$(this).parent().hover(function() {<br />
}, function(){<br />
$(this).parent().find(&#8220;ul.subnav&#8221;).slideUp(&#8217;slow&#8217;); //When the mouse hovers out of the subnav, move it back up<br />
});</p>
<p>//Following events are applied to the trigger (Hover events for the trigger)<br />
}).hover(function() {<br />
$(this).addClass(&#8220;subhover&#8221;); //On hover over, add class &#8220;subhover&#8221;<br />
}, function(){  //On Hover Out<br />
$(this).removeClass(&#8220;subhover&#8221;); //On hover out, remove class &#8220;subhover&#8221;<br />
});</p>
<p>});</p>
<p>*To degrade gracefully, we only show the drop down menu trigger to those who have javascript enabled.</p>
<p>This is what it looks like when javascript is disabled:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/sexy-drop-down-menu-w-jquery-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“Outside the Box” Navigation with jQuery</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/%e2%80%9coutside-the-box%e2%80%9d-navigation-with-jquery/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/%e2%80%9coutside-the-box%e2%80%9d-navigation-with-jquery/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 15:59:39 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=615</guid>
		<description><![CDATA[Just about every website uses the regular navigation concepts we’re all used to. After awhile this can get pretty boring, especially for designers who thrive on creativity. While mimicking the OS X dock and stacks isn’t new, it’s certainly not common.
A few days ago, Jeffrey posted about a potential “outside the box” competition on ThemeForest [...]]]></description>
			<content:encoded><![CDATA[<p>Just about every website uses the regular navigation concepts we’re all used to. After awhile this can get pretty boring, especially for designers who thrive on creativity. While mimicking the OS X dock and stacks isn’t new, it’s certainly not common.</p>
<p>A few days ago, Jeffrey posted about a potential “outside the box” competition on ThemeForest to encourage authors to put on their creativity hats and design usable templates with “outside the box” creative designs. In this tutorial I’ll cover a few ways to do just that with OS X style docks and stacks navigation.<br />
Sources and Credits</p>
<p>Before we get started, I want to give a shout out to a couple guys who came to the rescue when they heard my call for help on Twitter. Steve updated the stacks script by Harley from using jQuery 1.2.6 to use the current 1.3.2 release and Rey Bango from the jQuery team helped me fix a bug. They both jumped to the task within a couple minutes of my cry for help via Twitter. Thanks a ton guys! *Round of applause*</p>
<p>Original Sources<br />
“Adding to Our Leopard Desktop with jQuery” by Harley via Net.tutsplus.com<br />
Interface: Fisheye Menu<br />
jqDock v1.2<br />
Example template (Internet Encyclopedia) by Luka Cvrk<br />
Quick Notes</p>
<p>These scripts rely on jQuery 1.3.2. The examples shown are compatible with all major browsers including IE6 and are easy to ensure graceful degrading if JavaScript is off or disabled.<br />
jQuery OS X Dock #1 (Horizontal)</p>
<p>The first dock we’ll build uses the jQuery Fisheye Menu plugin mentioned above. It’s pretty lightweight (~7kb with dependencies) but the main reason I wanted to use this one was because it’s incredibly smooth, no stuttering. View Demo.</p>
<p>As you can see in the demo, it’s incredibly smooth and responsive. The downside is that you can’t use fixed positioning with it if the page needs to scroll as it will break. If you don’t need it fixed within the browser window then it works great.</p>
<p>This is a great example of “outside the box” concepts in websites and provides an interactive and fun interface.</p>
<p>Required files (I’ve combined the Fisheye plugin and iutil.js in the demo files).<br />
jQuery 1.3.2<br />
Interface: Fisheye Menu plugin<br />
Interface: iutil.js (dependency)<br />
The HTML</p>
<p>We’ll wrap our images and titles in links and place them within a containing div. Then we’ll wrap it all in another containing div for it to function properly.<br />
view plaincopy to clipboardprint?</p>
<div id="dock">
<div class="dock-container"><a class="dock-item" href="index.html"><span> </span></a></div>
<p><!-- end div .dock-container --></p>
</div>
<p><!-- end div .dock #dock --></p>
<p>Notice that I’ve placed the titles in span tags so we can style them as well as allow the plugin to hide/show them as necessary.<br />
The CSS</p>
<p>With CSS we’ll position the dock where we want it on the page. We can’t use fixed positioning with this plugin or it won’t function properly.<br />
.dock-container { position: relative; top: -8px; height: 50px; padding-left: 20px; }<br />
a.dock-item { display: block; width: 50px; position: absolute; bottom: 0; text-align: center; text-decoration: none; color: #333; }<br />
.dock-item span { display: none; padding-left: 20px; }<br />
.dock-item img { border: 0; margin: 5px 10px 0px; width: 100%; }</p>
<p>I’ve also placed a little extra CSS in the head of the page below the CSS included above. I wrapped it in noscript tags in case a visitor doesn’t have JavaScript enabled or available, it will still be a usable navigation. I should point out that this will not validate because the noscript tag isn’t valid in the head section, even though it works in all the current browsers.<br />
#dock { top: -32px; }<br />
a.dock-item { position: relative; float: left; margin-right: 10px; }<br />
.dock-item span { display: block; }<br />
The JavaScript</p>
<p>We’ll bring in our JavaScript files now starting with jQuery 1.3.2. The fisheye-iutil.min.js file is the combination of the Fisheye plugin and its dependent iutil.js file. We’ll create the last file and put our JavaScript necessary to initialize the dock in it.<br />
view plaincopy to clipboardprint?<br />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script><br />
 <script src="js/fisheye-iutil.min.js" type="text/javascript"></script></p>
<p>Now we’ll initialize the dock once the page loads. You can use several plugin options to customize the dock as you need for positioning and functionality. You can view the documentation by visiting the site listed under sources for the Fisheye plugin.<br />
view plaincopy to clipboardprint?<br />
$(function () {<br />
// Dock initialize<br />
$(&#8216;#dock&#8217;).Fisheye(<br />
{<br />
maxWidth: 30,<br />
items: &#8216;a&#8217;,<br />
itemsText: &#8217;span&#8217;,<br />
container: &#8216;.dock-container&#8217;,<br />
itemWidth: 50,<br />
proximity: 60,<br />
alignment : &#8216;left&#8217;,<br />
valign: &#8216;bottom&#8217;,<br />
halign : &#8216;center&#8217;<br />
}<br />
);<br />
});</p>
<p>That’s all there is to it!</p>
<p>jQuery OS X Dock #2 (Vertical)</p>
<p>The horizontal dock was easy and definitely a neat idea to use on websites. They’re probably the most common type used across the web currently so let’s try something different. We could get a little more “outside the box” if we did a vertical dock navigation.</p>
<p>This dock relies on the jqDock jQuery plugin. It’s approximately 10kb in size, so it’s a few kb larger than the previous version but that’s not much. The disadvantage to this plugin is that it’s not quite as smooth as the Fisheye plugin dock, although it’s still very fluid and certainly usable. This plugin also doesn’t have issues with fixed positioning. View Demo.<br />
The HTML</p>
<p>We’ll put our images in an unordered list and wrap them in links. As with the last plugin, we’ll wrap everything within a containing div. When we initialize the plugin we’ll use the “ul” here.<br />
view plaincopy to clipboardprint?</p>
<div id="dockContainer">
<ul id="jqDock">
<li><a class="dockItem" href="#"></a></li>
</ul>
</div>
<p><!-- end div #dockContainer --></p>
<p>You’ll notice on this dock we don’t have titles wrapped in span tags. Instead, this plugin will look at the “title” tag set for each image and create the titles that way (if enabled in the plugin options). This makes the markup a little simpler but it also makes the titles a little less customizable.</p>
<p>The CSS</p>
<p>We position the dock on the left side (can be either side) using fixed positioning. We’ll give it a little space between itself and the top of the browser window for aesthetics and so the icons don’t disappear when enlarged.<br />
#dockContainer { position: fixed; top: 60px; left: 6px; }<br />
#jqDock { position: relative; bottom: 48px; }<br />
.jqDockLabel { background: #333; color: #fff; padding: 3px 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; }</p>
<p>To style the titles we can use the “.jqDockLabel” class. We also won’t need to include any extra styles for it to still be usable with JavaScript disabled. It may not be very pretty but it’s functional.<br />
The JavaScript</p>
<p>We’ll bring in the jQuery library just like the previous dock as well as the plugin.<br />
view plaincopy to clipboardprint?<br />
<script src="js/jquery.jqDock.min.js" type="text/javascript"></script></p>
<p>We initialize the dock and set a few options to customize it. You can read the documentation on these settings by visiting the site listed under sources at the beginning of the tutorial for jqDock. What I want to point out here though is the duration option. This is the time for magnification animation in milliseconds. It’s nice to be able to change the duration speed but it seems to get a little stuttery, which is something I hate.<br />
view plaincopy to clipboardprint?<br />
$(function(){<br />
var jqDockOpts = {align: &#8216;left&#8217;, duration: 200, labels: &#8216;tc&#8217;, size: 48, distance: 85};<br />
$(&#8216;#jqDock&#8217;).jqDock(jqDockOpts);<br />
});</p>
<p>You can easily change the positioning of the dock and labels as well as the initial size of the icons and a few other options. What I didn’t like about this plugin is that it magnifies to the full size of the icon. The previous plugin gives you the ability to change the size it magnifies to. That’s all there is to it!</p>
<p>jQuery OS X Stack and Drop Stack</p>
<p>This is probably my favorite navigation style out of the three shown in this tutorial. It’s super lightweight (~1kb) and is a really creative “outside the box” method of navigation for a website. It might be a little awkward having the navigation in the bottom right or left of the browser window but it would certainly be creative and save lots of space. View Demo.</p>
<p>While writing this, I realized there are probably many people that won’t like their navigation at the bottom of the page so I took a couple extra minutes and added a drop-down stack to the example files. This way the navigation springs out from top to bottom so it can now be used at the top of pages.<br />
View Demo.<br />
The HTML</p>
<p>The HTML is just as simple as the two dock examples. We’ll place everything in a containing div and place all our images and titles, which are wrapped in links, within an unordered list.<br />
view plaincopy to clipboardprint?</p>
<div class="stack"><a href="index.html"></a></p>
<ul id="stack"></ul>
</div>
<p><!-- end div .stack --></p>
<p>Notice that I’ve placed an image before the unordered list. This is the basket image that the rest of the icons will be stacked behind.<br />
The CSS</p>
<p>We’ll position the main container and make sure the basket image has a higher z-index than the unordered list so everything stacks behind it. Also notice that I’ve given the basket image 35px of padding. This prevents the icons behind the basket from being clicked since the basket image is shorter than the icons. If you change the basket icon to something taller then you’ll need to also change the padding.<br />
view plaincopy to clipboardprint?<br />
.stack { position: fixed; bottom: 28px; right: 40px; }<br />
.stack &gt; img { position: relative; cursor: pointer; padding-top: 35px; z-index: 2; }<br />
.stack ul { list-style: none; position: absolute; top: 5px; cursor: pointer; z-index: 1; }<br />
.stack ul li { position: absolute; }<br />
.stack ul li img { border: 0; }<br />
.stack ul li span { display: none; }<br />
.stack .openStack li span {<br />
font-family: &#8220;Lucida Grande&#8221;, Lucida, Verdana, sans-serif;<br />
display:block;<br />
height: 14px;<br />
position:absolute;<br />
top: 17px;<br />
right:60px;<br />
line-height: 14px;<br />
border: 0;<br />
background-color:#000;<br />
padding: 3px 10px;<br />
border-radius: 10px;<br />
-webkit-border-radius: 10px;<br />
-moz-border-radius: 10px;<br />
color: #fcfcfc;<br />
text-align: center;<br />
text-shadow: #000 1px 1px 1px;<br />
opacity: .85;<br />
filter: alpha(opacity = 85);<br />
}</p>
<p>/* IE Fixes */<br />
.stack { _position: absolute; }<br />
.stack ul { _z-index:-1; _top:-15px; }<br />
.stack ul li { *right:5px; }</p>
<p>The titles wrapped in span tags are set to display:none so they’ll be hidden when the page loads.<br />
The JavaScript</p>
<p>We’ll place the JavaScript in its own file since it’s more than a couple lines. When the image outside the unordered list (the basket) is clicked, it uses jQuery’s toggle function to animate the the list items and set their position based on the horizontal starting point + .75px then multiplied by 2. This gives us the nice curved spring action of the list items.</p>
<p>You could change the .75px or the multiplier (2) to customize how much it curves.<br />
view plaincopy to clipboardprint?<br />
$(function () {<br />
// Stack initialize<br />
var openspeed = 300;<br />
var closespeed = 300;<br />
$(&#8216;.stack&gt;img&#8217;).toggle(function(){<br />
var vertical = 0;<br />
var horizontal = 0;<br />
var $el=$(this);<br />
$el.next().children().each(function(){<br />
$(this).animate({top: &#8216;-&#8217; + vertical + &#8216;px&#8217;, left: horizontal + &#8216;px&#8217;}, openspeed);<br />
vertical = vertical + 55;<br />
horizontal = (horizontal+.75)*2;<br />
});<br />
$el.next().animate({top: &#8216;-50px&#8217;, left: &#8216;10px&#8217;}, openspeed).addClass(&#8216;openStack&#8217;)<br />
.find(&#8216;li a&gt;img&#8217;).animate({width: &#8216;50px&#8217;, marginLeft: &#8216;9px&#8217;}, openspeed);<br />
$el.animate({paddingTop: &#8216;0&#8242;});<br />
}, function(){<br />
//reverse above<br />
var $el=$(this);<br />
$el.next().removeClass(&#8216;openStack&#8217;).children(&#8216;li&#8217;).animate({top: &#8216;55px&#8217;, left: &#8216;-10px&#8217;}, closespeed);<br />
$el.next().find(&#8216;li a&gt;img&#8217;).animate({width: &#8216;79px&#8217;, marginLeft: &#8216;0&#8242;}, closespeed);<br />
$el.animate({paddingTop: &#8216;35&#8242;});<br />
});</p>
<p>// Stacks additional animation<br />
$(&#8216;.stack li a&#8217;).hover(function(){<br />
$(&#8220;img&#8221;,this).animate({width: &#8216;56px&#8217;}, 100);<br />
$(&#8220;span&#8221;,this).animate({marginRight: &#8216;30px&#8217;});<br />
},function(){<br />
$(&#8220;img&#8221;,this).animate({width: &#8216;50px&#8217;}, 100);<br />
$(&#8220;span&#8221;,this).animate({marginRight: &#8216;0&#8242;});<br />
});<br />
});</p>
<p>Then when the user clicks the basket image again it runs the next function which reverses what we just did. I then added some additional animation to the list items and their titles to give them a little more user feedback, which of course can easily be removed.</p>
<p>And there you have it! A simple and flexible OS X style stack navigation for your website.  This script is also in the process of being converted into an easier to use plugin so keep an eye out for that.<br />
Final Thoughts</p>
<p>Hopefully these examples will give you some ideas to be creative and break out of the mold when designing your next website or template. As you can see, jQuery is a powerful library that makes it easy to make our ideas a reality. With a potential upcoming competition based on “outside the box” designs, you might get started on some ideas to submit to ThemeForest. If you haven’t submitted files before, it’s very easy and can definitely be well worth your time!</p>
<p>I want to thank Rey (from the jQuery team) and Steve for answering my call for help on Twitter so quickly. This is a prime example of how useful Twitter can be for designers and developers. If you aren’t following Theme Forest or Nettuts on Twitter yet, now is a good time to do that. They’re both websites with a ton of fantastic information. You can also follow me on Twitter if you’d like.<br />
Follow us on <a href="http://www.twitter.com/bageshsingh">Twitter</a>, or subscribe to the bagesh singh RSS Feed for more daily web development tuts and articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/%e2%80%9coutside-the-box%e2%80%9d-navigation-with-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>38 jQuery And CSS Drop Down Multi Level Menu Solutions</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/38-jquery-and-css-drop-down-multi-level-menu-solutions/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/38-jquery-and-css-drop-down-multi-level-menu-solutions/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 15:54:42 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[coding technique]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[Menu]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=611</guid>
		<description><![CDATA[Hello again, it’s time for comprehensive programming article. Here you’ll find 38 mainly jquery and CSS based drop-down or just multi level menu tutorials with down loadable files and explanations as well. My favorite here is the first pick – Outside the box with very unique navigation menu. It’s always good to have such reference [...]]]></description>
			<content:encoded><![CDATA[<p>Hello again, it’s time for comprehensive programming article. Here you’ll find 38 mainly jquery and CSS based drop-down or just multi level menu tutorials with down loadable files and explanations as well. My favorite here is the first pick – Outside the box with very unique navigation menu. It’s always good to have such reference articles in your bookmarks and when you have to create some really big website with a lot of content and menu sections – just return here. Shorten your developing process with already premade menus, which can be easily modified with little touch of CSS.<br />
1. “Outside the Box” Navigation with jQuery</p>
<p>This tutorial will cover a few ways to do just that with OS X style docks and stacks navigation.</p>
<p>2. Sexy Drop Down Menu w/ jQuery &amp; CSS</p>
<p>In this tutorial you will learn how to create a sexy drop down menu that can also degrade gracefully.</p>
<p>3. Designing the Digg Header: How To &amp; Download</p>
<p>Navigation is compacted with the use of simple drop-down menus.</p>
<p>4. Create The Fanciest Dropdown Menu You Ever Saw</p>
<p>5. A circular menu with sub menus</p>
<p>A follow on from the simple single level circular menu, this one adds a sub menu level of smaller icons in a circular pattern within the top level circle. There is also the facility to add a simple description of each icon.</p>
<p>6. A Different Top Navigation</p>
<p>In this tutorial you will use jQuery to create a different multi-layered horizontal navigation system that is still intuitive enough for anyone to use for the first time.</p>
<p>Preview Demo<br />
7. Perfect signin dropdown box likes Twitter with jQuery</p>
<p>Nice tutorial showing you how to create a login drop down with Twitter style using jQuery.</p>
<p>8. Sliding Jquery Menu Tutorial</p>
<p>This tutorial will show you how to create a sliding menu button using jquery. You can see the effect in action over on the PSDtuts webpage in the top right hand corner.</p>
<p>9.Fancy Sliding Menu for Mootools</p>
<p>10. Create Vimeo-like top navigation</p>
<p>I’ve featured this Janko’s tutorial some time ago, but sometimes I will repeat myself, since this article is completely dedicated to showcase advanced drop down menus. Very detailed and well written tutorial, with drop-down search options narrowing and targeting search by checking options. Menu is done completely using just CSS, structure is visually describet in the image below:</p>
<p>Preview Demo<br />
11. Dynamic PHP/CSS menu</p>
<p>12. Creating an Outlook Navigation Bar using the ListView and Accordion Controls</p>
<p>Preview Demo<br />
13. Animated Drop Down Menu with jQuery</p>
<p>14. jQuery UI Potato Menu</p>
<p>Preview Demo<br />
15. Make a Mega Drop-Down Menu with jQuery</p>
<p>Preview Demo<br />
16. A cross-browser drop-down cascading validating menu</p>
<p>Just simple CSS menu.</p>
<p>Preview Demo<br />
17. Drop-Down Menus, Horizontal Style</p>
<p>Very old drop-down tutorial from year 2004, but if you are starting out – very useful tutorial and example.</p>
<p>Preview Demo<br />
18. Superfish v1.4.8 – jQuery menu plugin by Joel Birch</p>
<p>Superfish is an enhanced Suckerfish-style menu jQuery plugin that takes an existing pure CSS drop-down menu (so it degrades gracefully without JavaScript) and more features.</p>
<p>Preview Demo<br />
19. JavaScript Dropdown Menu with Multi Levels</p>
<p>This multi-level drop down menu script weighs in at only 1.2 KB. It features animation, active header persistence, easy implementation and multiple instance support.</p>
<p>Preview Demo<br />
20. jQuery (mb)Menu 2.7</p>
<p>This is a powerful jQuery component to build easily a multilevel tree menu or a contextual menu (right click) in an intuitive way!</p>
<p>Preview Demo<br />
21. Menumatic</p>
<p>MenuMatic is a MooTools 1.2 class that takes a sematic ordered or unordered list of links and turns it into a dynamic drop down menu system. For users without javascript, it falls back on a CSS menu</p>
<p>Preview Demo<br />
22. Smooth Navigational Menu (v1.31)</p>
<p>Smooth Navigation Menu is a multi level, CSS list based menu powered using jQuery that makes website navigation a smooth affair.</p>
<p>Preview Demo<br />
23. jQuery File Tree</p>
<p>jQuery File Tree is a configurable, AJAX file browser plugin for jQuery. You can create a customized, fully-interactive file tree with as little as one line of JavaScript code.</p>
<p>Preview Demo<br />
24. Longed-For Multi-Level Drop-Down Menu Script</p>
<p>Preview Demo<br />
25. jQuery &amp; CSS Example – Dropdown Menu</p>
<p>This article is intended to describe an extremely basic, yet extremely powerful, technique for adding dropdown menus in your application user interface or website design.</p>
<p>Preview Demo<br />
26. Reinventing a Drop Down with CSS and jQuery</p>
<p>Preview Demo<br />
27. Simple jQuery Dropdowns</p>
<p>Very stripped down code and minimal styling, yet still dropdown menu has all the functionality typically needed.</p>
<p>Preview Demo<br />
28. Styling Drop Down Boxes with jQuery</p>
<p>One problem with HTML forms is it is hard to style the elements to fit into your design. The tutorial will show you how to style the hardest of them all, the select box.</p>
<p>Preview Demo<br />
29. jQuery iPod-style Drilldown Menu</p>
<p>Preview Demo<br />
30. jQuery Menu: Dropdown, iPod Drilldown, and Flyout styles with ARIA Support and ThemeRoller Ready</p>
<p>Newer version of previous iPod style menu.</p>
<p>Preview Demo<br />
31. mcDropdown jQuery Plug-in v1.2.07</p>
<p>Preview Demo<br />
32. jQuery Drop Line Tabs</p>
<p>This menu turns a nested UL list into a horizontal drop line tabs menu. The top level tabs are rounded on each side thanks to the use of two transparent background images, while the sub ULs each appear as a single row of links that drop down when the mouse rolls over its parent LI.</p>
<p>Preview Demo</p>
<p>33. Cut &amp; Paste jQuery Mega Menu</p>
<p>Mega Menus refer to drop down menus that contain multiple columns of links. This jQuery script lets you add a mega menu to any anchor link on your page, with each menu revealed using a sleek expanding animation. Customize the animation duration plus delay before menu disappears when the mouse rolls out of the anchor. Mega cool!</p>
<p>Preview Demo<br />
34. Professional dropdown #2</p>
<p>Preview Demo<br />
35. Drop down menu with nested submenus</p>
<p>Create your own drop down menu with nested submenus using CSS and a little JavaScript.</p>
<p>Preview Demo<br />
36. jdMenu Hierarchical Menu Plugin</p>
<p>The jdMenu plugin for jQuery provides a clean, simple and elegant solution for creating hierarchical drop down menus for websites to web applications.</p>
<p>Preview Demo<br />
37. Dynamic Drive – Multiple Level Menus</p>
<p>A lot of free advanced CSS and Javascript drop down menus are available here. There are also instructions and advices how do use and modify them.</p>
<p>38. IzzyMenu – Menu Builder – Build your pro CSS/DHTML Menu</p>
<p>Choose from dozens ready styles or create your own menu style. They are low in file size, so won’t consume a lot of bandwidth from your hosting. IzzyMenu, online menu generator is the best solution for amateurs and professionals!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/38-jquery-and-css-drop-down-multi-level-menu-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Make a Smooth Animated Menu with jQuery in php</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-make-a-smooth-animated-menu-with-jquery-in-php/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-make-a-smooth-animated-menu-with-jquery-in-php/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 15:51:19 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[Php interview question]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[coding technique]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Easing]]></category>
		<category><![CDATA[Menu]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=609</guid>
		<description><![CDATA[Step 1 – Set up the Structure
Before starting with any jQuery, we’ve got to build a quick menu structure with XHTML and load in the required project files. Make new XHTML, CSS, and javascript documents. I’ve chosen to name each of mine “animated-menu”. Make two folders in the root directory for images and javascript. I’ve [...]]]></description>
			<content:encoded><![CDATA[<p>Step 1 – Set up the Structure</p>
<p>Before starting with any jQuery, we’ve got to build a quick menu structure with XHTML and load in the required project files. Make new XHTML, CSS, and javascript documents. I’ve chosen to name each of mine “animated-menu”. Make two folders in the root directory for images and javascript. I’ve attached a screenshot of my folder structure to clarify:<br />
Nothing out of the ordinary here. Start by loading in the necessary libraries and external files in the head. I have chosen to load jQuery from the Google code archive online, while the easing plugin from above is placed into the “js” folder. The order of loading is important!<br />
view plaincopy to clipboardprint?<br />
&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221;<br />
&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<p>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; xml:lang=&#8221;en&#8221; lang=&#8221;en&#8221;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243;/&gt;<br />
&lt;title&gt;Smooth Animated jQuery Menu&lt;/title&gt;</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;animated-menu.css&#8221;/&gt;</p>
<p>&lt;script src=&#8221;http://jqueryjs.googlecode.com/files/jquery-1.3.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script src=&#8221;js/jquery.easing.1.3.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script src=&#8221;animated-menu.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;/head&gt;</p>
<p>Then copy in this menu structure into the body:<br />
view plaincopy to clipboardprint?<br />
&lt;body&gt;<br />
&lt;p&gt;Rollover a menu item to expand it.&lt;/p&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;<br />
&lt;p&gt;&lt;a href=&#8221;#&#8221;&gt;Home&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;The front page&lt;/p&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;p&gt;&lt;a href=&#8221;#&#8221;&gt;About&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;More info&lt;/p&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;p&gt;&lt;a href=&#8221;#&#8221;&gt;Contact&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;Get in touch&lt;/p&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;p&gt;&lt;a href=&#8221;#&#8221;&gt;Submit&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;Send us your stuff!&lt;/p&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;p&gt;&lt;a href=&#8221;#&#8221;&gt;Terms&lt;/a&gt;&lt;/p&gt;<br />
&lt;p&gt;Legal things&lt;/p&gt;<br />
&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Menu items have a class assigned to it that will designate the color of the block. Within each menu block is a title and subtitle that will be hidden by default.</p>
<p>Step 3 – Style with CSS</p>
<p>Now that the menu structure is in place we’ll add some basic styles to neaten up and arrange the menu horizontally. Overflow must be set to overflow for each list item. This will ensure that the subtitle for each item will not display until the height expands to fit.<br />
view plaincopy to clipboardprint?<br />
body{<br />
font-family:&#8221;Lucida Grande&#8221;, arial, sans-serif;<br />
background:#F3F3F3;<br />
}</p>
<p>ul{<br />
margin:0;<br />
padding:0;<br />
}</p>
<p>li{<br />
width:100px;<br />
height:50px;<br />
float:left;<br />
color:#191919;<br />
text-align:center;<br />
overflow:hidden;<br />
}</p>
<p>a{<br />
color:#FFF;<br />
text-decoration:none;<br />
}</p>
<p>p{<br />
padding:0px 5px;<br />
}</p>
<p>.subtext{<br />
padding-top:15px;<br />
}</p>
<p>/*Menu Color Classes*/<br />
.green{background:#6AA63B;}<br />
.yellow{background:#FBC700;}<br />
.red{background:#D52100;}<br />
.purple{background:#5122B4;}<br />
.blue{background:#0292C0;}<br />
Step 4 – Animate with jQuery</p>
<p>All of our jQuery code will go into the javascript file created earlier. It will be called “animated-menu.js” if you’ve been following my model.<br />
view plaincopy to clipboardprint?<br />
$(document).ready(function(){</p>
<p>//When mouse rolls over<br />
$(&#8220;li&#8221;).mouseover(function(){<br />
$(this).stop().animate({height:&#8217;150px&#8217;},{queue:false, duration:600, easing: &#8216;easeOutBounce&#8217;})<br />
});</p>
<p>//When mouse is removed<br />
$(&#8220;li&#8221;).mouseout(function(){<br />
$(this).stop().animate({height:&#8217;50px&#8217;},{queue:false, duration:600, easing: &#8216;easeOutBounce&#8217;})<br />
});</p>
<p>});</p>
<p>There are two actions in the code above. When the mouse moves over a menu item, that item starts an animation where it expands to 150px tall over 0.6 seconds. The easing applied through the plugin is ‘easeOutBounce’ which causes the box to “bounce” a little as it reaches the end of the animation (“out”). When the mouse is moved off the animation to the starting size is triggered.</p>
<p>If you are using this within the context of a larger site, simply substitute the element selected (currently “li”) for the mouse events to the necessary selector.</p>
<p>The stop() method is chained before the animate in order to prevent a buffer from building where the animation will loop repeatedly if the mouse is moved around quickly over it. An article on Learning jQuery covers this solution in greater depth.<br />
Step 5- Add Some Flair</p>
<p>I’ve added background images to each of the menu items in the live version and source files to illustrate some design possibilities. There are plenty of other creative ways to add some personality to the menu. Go on and experiment. If you come up with anything remarkable, be sure to share it with us in the comments.</p>
<p><a href="http://buildinternet.com/live/smoothmenu/animated-menu.zip">download code </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/07/how-to-make-a-smooth-animated-menu-with-jquery-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento: Creating Ajax Updated Tabs In Frontend, Like Product Management Tabs of Backend</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/06/magento-creating-ajax-updated-tabs-in-frontend-like-product-management-tabs-of-backend/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/06/magento-creating-ajax-updated-tabs-in-frontend-like-product-management-tabs-of-backend/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 11:39:44 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[PHP Third Party Tools]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[magento interview question]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=603</guid>
		<description><![CDATA[Magento’s Product Management GUI in back-end has Tabbed Navigation. There are two types of Tabs implemented there. One type of Tab is normal tab, loading content on page load while other type of tab has its content loaded by “Ajax”. Another interesting thing to note is that once the Ajax loaded tab’s content is loaded [...]]]></description>
			<content:encoded><![CDATA[<p>Magento’s Product Management GUI in back-end has Tabbed Navigation. There are two types of Tabs implemented there. One type of Tab is normal tab, loading content on page load while other type of tab has its content loaded by “Ajax”. Another interesting thing to note is that once the Ajax loaded tab’s content is loaded it will not “recall” Ajax to load its content, rather earlier loaded tab content is show. If are “confused” then just see how the “Categories” tab of the Product Management works.</p>
<p>A good trick, I thought while doing this, using class name to restrict the Ajax cal</p>
<p>I successfully used the same “behavior” of tabbed navigation in “front-end”, was easy at the end (always with Magento, when you get it), but I was struggling at the start. So, like my other posts, to share here’s how I used the same type of tab in Magento’s Front-end.</p>
<p>First thing is add the Tab’s Java-script file. You can either include by layout or in PHTML file. If you want to do from layout then,1	&lt;reference name=&#8221;head&#8221;&gt;<br />
2	             &lt;action method=&#8221;addJs&#8221;&gt;&lt;script&gt;mage/adminhtml/tabs.js&lt;/script&gt;&lt;/action&gt;<br />
3	&lt;/reference&gt;</p>
<p>Next thing is to create Tab’s Menu inside UL &amp; LI. Here’s the structure. (Self Explanatory)01	&lt;!&#8211; TAB MENU STRUCTURE &#8211;&gt;<br />
02<br />
03	&lt;ul id=&#8221;page_tabs&#8221;&gt;<br />
04	    &lt;!&#8211; NORMAL TAB &#8211;&gt;<br />
05	    &lt;li&gt;<br />
06	        &lt;a id=&#8221;normaltab&#8221; name=&#8221;normaltab&#8221; href=&#8221;#&#8221;&gt; NORMAL TAB &lt;/a&gt;<br />
07	        &lt;!&#8211; NOTE: class has to be tab-item-link&#8211;&gt;<br />
08<br />
09	        &lt;div id=&#8221;normaltab_content&#8221;&gt; Normal Tab HTML&lt;/div&gt;<br />
10	        &lt;!&#8211; NOTE: See the id of this div content it has id equal to its anchor&#8217;s (&lt;a&gt;) id + Underscore + content &#8211;&gt;<br />
11	    &lt;/li&gt;<br />
12	    &lt;!&#8211; NORMAL TAB END&#8211;&gt;<br />
13<br />
14	    &lt;!&#8211; AJAX LOADED TAB &#8211;&gt;<br />
15	    &lt;li&gt;<br />
16	        &lt;a id=&#8221;ajaxtab&#8221; name=&#8221;ajaxtab&#8221; href=&#8221;http://example.com/magento/module/controller/action&#8221;&gt; AJAX TAB &lt;/a&gt;<br />
17	        &lt;!&#8211; NOTE 1: class has to be tab-item-link ajax notloaded &#8211;&gt;<br />
18	        &lt;!&#8211; NOTE 2: Since this is Ajax Loaded Tab its Anchor should have href value = SOME URL &#8211;&gt;<br />
19<br />
20	        &lt;div id=&#8221;ajaxtab_content&#8221;&gt;&lt;/div&gt;<br />
21	        &lt;!&#8211; NOTE 1: See the id of this div content it has id equal to its anchor&#8217;s (&lt;a&gt;) id + Underscore + content &#8211;&gt;<br />
22	        &lt;!&#8211; NOTE 2: Since its innerHTML will be loaded by by Ajax you can set its innerHTML &#8220;blank&#8221; &#8211;&gt;<br />
23<br />
24	    &lt;/li&gt;<br />
25	    &lt;!&#8211; AJAX LOADED TAB END &#8211;&gt;<br />
26	&lt;/ul&gt;<br />
27	&lt;!&#8211; TAB MENU STRUCTURE END &#8211;&gt;<br />
28<br />
29	&lt;!&#8211; TAB CONTENT CONTAINER DIV&#8211;&gt;<br />
30	&lt;div id=&#8221;tabcontainer&#8221;&gt;&lt;/div&gt;<br />
31	&lt;!&#8211; TAB CONTENT CONTAINER DIV&#8211;&gt;</p>
<p>Now its the time to use the Tabs JS included, like below.01	&lt;script&gt;<br />
02	    // Form Key Required for POST AJAX Method<br />
03	    var FORM_KEY=&#8221;&lt;?php echo Mage::getSingleton(&#8216;core/session&#8217;)-&gt;getFormKey() ?&gt;&#8221;;<br />
04<br />
05	    // Set this to false, Guess used for some other purpose in backend, not really required in frontend.<br />
06	    var varienGlobalEvents=false;<br />
07<br />
08	    // Initiallizing Varien Tabs<br />
09	    /**<br />
10	    * @param 1 : UL Menu ID<br />
11	    * @param 2 : Target Tab Content ID<br />
12	    * @param 3 : Initially Loading Tab&#8217;s Id<br />
13	    * @param 4 : Don&#8217;t know yet, just use as it is (LOL)<br />
14	    */<br />
15<br />
16	    frontend_tabsJsTabs = new varienTabs(&#8216;page_tabs&#8217;, &#8216;tabcontainer&#8217;, &#8216;normaltab&#8217;,[]);<br />
17<br />
18	&lt;/script&gt;</p>
<p>Done! You must now have a functioning Tab loading by Ajax and Normal, but yes tab would look good if you add CSS to your Tabs.  Here is how it works.<br />
On load it first copies the tab_content div inside the Target Tab Content ID div.<br />
On tabbed menu clicked it checks its class name and if it class name does not have “ajax” it simply shows the its_content div.<br />
If the menu clicked has “ajax” then it checks for another class name “notloaded”. So if its ajax and notloaded it then makes an Ajax request and updates the responseText to itsid_content div and then removes the “notloaded” class name for the menu. After that it then displays the itsid_content div, hiding previous ones.<br />
If you re-click the “Ajax” typed menu, it will not find “notloaded” class in its menu, then it just shows its_content div.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/06/magento-creating-ajax-updated-tabs-in-frontend-like-product-management-tabs-of-backend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to check the user’s browser type and platform in php</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/06/how-to-check-the-user%e2%80%99s-browser-type-and-platform-in-php/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/06/how-to-check-the-user%e2%80%99s-browser-type-and-platform-in-php/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 16:39:22 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Php interview question]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips and technique]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[browser type]]></category>
		<category><![CDATA[Information]]></category>
		<category><![CDATA[PHP 4.x]]></category>
		<category><![CDATA[PHP 5.x]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=601</guid>
		<description><![CDATA[
Sooner or later it might become necessary to write an application  that tracks site visitor browser types. Here’s some code to use:

&#60;?php
echo($_SERVER[‘HTTP_USER_AGENT’]);
?&#62;

This will output something that looks like one of the following:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT  5.1)
Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
Mozilla/5.0 (Windows; U; Windows NT 5.1; [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Sooner or later it might become necessary to write an application  that tracks site visitor browser types. Here’s some code to use:</p>
<div>
<div>&lt;?php<br />
echo($_SERVER[‘HTTP_USER_AGENT’]);<br />
?&gt;</div>
</div>
<p>This will output something that looks like one of the following:</p>
<div>
<div>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT  5.1)<br />
Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)<br />
Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)<br />
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107  Firefox/1.0</div>
</div>
<p><strong>Reference</strong><br />
A more complete list of USER AGENT  strings (tab delimited)</p>
<p>Next, we’ll build a simple browser checker to check for Internet  Explorer (IE), Firefox, Opera and Safari:</p>
<div>
<div>&lt;?php<br />
$useragent = $_SERVER[‘HTTP_USER_AGENT’]);if (preg_match(‘|MSIE ([0-9].[0-9]{1,2})|’,$useragent,$matched)) {<br />
$browser_version=$matched[1];<br />
$browser = ‘IE’;<br />
} elseif (preg_match( ‘|Opera ([0-9].[0-9]{1,2})|’,$useragent,$matched))  {<br />
$browser_version=$matched[1];<br />
$browser = ‘Opera’;<br />
} elseif(preg_match(‘|Firefox/([0-9\.]+)|’,$useragent,$matched)) {<br />
$browser_version=$matched[1];<br />
$browser = ‘Firefox’;<br />
} elseif(preg_match(‘|Safari/([0-9\.]+)|’,$useragent,$matched)) {<br />
$browser_version=$matched[1];<br />
$browser = ‘Safari’;<br />
} else {<br />
// browser not recognized!<br />
$browser_version = 0;<br />
$browser= ‘other’;<br />
}</p>
<p>print “browser: $browser $browser_version”;<br />
?&gt;</p>
</div>
</div>
<p>Now let’s parse out a simple Operating System (OS) checker using the  strstr function:</p>
<div>
<div>&lt;?php<br />
$useragent = $_SERVER[‘HTTP_USER_AGENT’]);if (strstr($useragent,‘Win’))  {<br />
$os=‘Win’;<br />
} else if (strstr($useragent,‘Mac’))  {<br />
$os=‘Mac’;<br />
} else if (strstr($useragent,‘Linux’))  {<br />
$os=‘Linux’;<br />
} else if (strstr($useragent,‘Unix’))  {<br />
$os=‘Unix’;<br />
} else {<br />
$os=‘Other’;<br />
}</p>
<p>print “OS: &lt;b&gt;$os”;<br />
?&gt;</p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/06/how-to-check-the-user%e2%80%99s-browser-type-and-platform-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Cross Site Scripting XSS browser attacks</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/06/how-cross-site-scripting-xss-browser-attacks/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/06/how-cross-site-scripting-xss-browser-attacks/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 12:38:49 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Php interview question]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[cross site scripting]]></category>
		<category><![CDATA[php tutorial]]></category>
		<category><![CDATA[website developer mumbai]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=596</guid>
		<description><![CDATA[Now a days Web applications are  becoming more and more dynamic. Dynamic websites means contents shown on  web page are pulled dynamically depending on some settings. These  setting may include sending some important variables in query string, or  sending the data entered by users with post form type. So in simple [...]]]></description>
			<content:encoded><![CDATA[<div>Now a days Web applications are  becoming more and more dynamic. Dynamic websites means contents shown on  web page are pulled dynamically depending on some settings. These  setting may include sending some important variables in query string, or  sending the data entered by users with post form type. So in simple  words we can say that your dynamic web application needs some contents /  data inputs from user, and this is the point where <strong>Cross Site  Scripting</strong><br />
(XSS) comes in picture.<br />
As your dynamic web  application is accepting some data from users or from query string. Some  users get the front door open to enter in your application and put  there codes in your application. These Codes may include HTML code  and/or JavaScript , any client-side scripts. <strong>Cross-site  scripting</strong> technique is carried out on websites were roughly 80%  of all documented security vulnerabilities.</div>
<p><strong><br />
What  is XSS?</strong></p>
<div>Usually attacker  encodes some part of the links in HEX, and puts this in your web page  through  query string. So that script can be anything  and we cant  predict the behavior of such attacks to the web application.</div>
<p><strong><br />
</strong></p>
<div><strong>Attack example</strong> : A simple  JavaScript to read cookie is added to your page and then this cookie is  sent to attackers action page which records all the information in the  cookie created by yuor web application.</div>
<p><strong><br />
Refer  folowing url</strong></p>
<p>&lt; src=&#8221;" text=&#8221;&lt;  script&#8221;&gt;alert(document.cookie)&lt; / script&gt;&#8221;&gt; &lt; /  iframe&gt;</p>
<div>If we are using the  variable $text somewhere in our page and it is not escaped then this URL  will render a new iframe on the place where you are using the $text  variable.<br />
In this way you can insert any of your script in another  webpages and fool the users to get important information from them. But  normally in such kind of attckes user never understand that there  important information is being hacked by some other application.<br />
This  is the simple thing and will not cause much damage to your sitee, but  attacker can do much more than this with the help of XSS.</div>
<p><strong>Other  XSS attacks</strong></p>
<div>Attackers may  inject JavaScript, VBScript, ActiveX, HTML in webpages.<br />
This kind of  attacks are done for hacking user accounts , changing of user settings,  cookie theft, or advertising.</div>
<p><strong>How to prevent such  attacks ? </strong></p>
<p><strong>Clensing the Query String</strong> variables is the only way you can prevent such attackers.<br />
<strong><br />
Clensing  the Query String &#8211; PHP :<br />
</strong>string strip_tags ( string $str [, string  $allowable_tags ] )<br />
This function tries to return a string with all  HTML and PHP tags stripped from a given str.</p>
<p>string htmlentities ( string $string [,  int $quote_style [, string $charset [, bool $double_encode ]]] )</p>
<p>use  above functions or you can write your own function which combines all  such stripping functionlities.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/06/how-cross-site-scripting-xss-browser-attacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>list all string functions in  php : php String function list is  very userfull in any language</title>
		<link>http://www.bageshsingh.com/bagesh-blog/2010/06/list-all-string-functions-in-php-php-string-function-list-is-very-userfull-in-any-language/</link>
		<comments>http://www.bageshsingh.com/bagesh-blog/2010/06/list-all-string-functions-in-php-php-string-function-list-is-very-userfull-in-any-language/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 12:37:33 +0000</pubDate>
		<dc:creator>Bagesh Singh</dc:creator>
				<category><![CDATA[Home]]></category>
		<category><![CDATA[Interview Question]]></category>
		<category><![CDATA[Php interview question]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[php string function]]></category>
		<category><![CDATA[string function]]></category>

		<guid isPermaLink="false">http://www.bageshsingh.com/bagesh-blog/?p=594</guid>
		<description><![CDATA[PHP is very powerful server side  programming language.
It has lots of  powerful functions which speed up the php development and  also the performance. While developing a flexible and good web  application we always need list of string handling functions.There  are lots of php functions and I am giving you a [...]]]></description>
			<content:encoded><![CDATA[<div><strong>PHP</strong> is very powerful <strong>server side  programming language</strong>.</div>
<div>It has lots of  powerful <strong>functions</strong> which <strong>speed up the php development</strong> and  also the performance. While developing a flexible and good web  application we always need <strong>list of string handling functions</strong>.There  are lots of php <span style="text-decoration: underline;">functions</span> and I am giving you a <strong>list of all  string functions in php</strong>. Which will help you for string  manipulation.</p>
<p><strong>List of php string functions </strong></div>
<table border="1" cellspacing="2" cellpadding="4" width="400">
<tbody>
<tr>
<td width="80">addcslashes</td>
<td>Quote  string with <strong>slashes</strong> in a C style. &#8220;Magicquotes&#8221;</td>
</tr>
<tr>
<td colspan="2">Syntax : string addcslashes  ( string $str  ,  string $charlist  )</td>
</tr>
<tr>
<td>bin2hex</td>
<td>Convert  <strong>binary data</strong> into hexadecimal representation.</td>
</tr>
<tr>
<td colspan="2">string bin2hex  ( string $str  )</td>
</tr>
<tr>
<td>chop</td>
<td>Alias of <strong>rtrim().</strong> Remove  white spaces from right isde of string.</td>
</tr>
<tr>
<td>chr</td>
<td>Return a specific character</td>
</tr>
<tr>
<td>chunk_split</td>
<td><strong>Split  a string</strong> into smaller chunks</td>
</tr>
<tr>
<td colspan="2">string chunk_split  ( string $body  [, int $chunklen  [,  string $end  ]] )</td>
</tr>
<tr>
<td>convert_cyr_string</td>
<td>Convert  from one Cyrillic character set to another</td>
</tr>
<tr>
<td colspan="2">string convert_cyr_string  ( string $str  , string $from  ,  string $to  )</td>
</tr>
<tr>
<td>convert_uudecode</td>
<td>Decode a uuencoded <strong>string</strong></td>
</tr>
<tr>
<td colspan="2">string convert_uudecode  ( string $data  )</td>
</tr>
<tr>
<td>convert_uuencode</td>
<td><strong>Uuencode</strong> a  string</td>
</tr>
<tr>
<td colspan="2">string convert_uuencode  ( string  $data  )</td>
</tr>
<tr>
<td>count_chars</td>
<td>Return  information about <strong>characters</strong> used in a <strong>string</strong></td>
</tr>
<tr>
<td colspan="4">count_chars  ( string $string  [, int $mode  ] )</td>
</tr>
<tr>
<td>crc32</td>
<td>Calculates the<strong> crc32</strong> polynomial of a string</td>
</tr>
<tr>
<td colspan="2">int crc32  ( string  $str  )</td>
</tr>
<tr>
<td>crypt</td>
<td><strong>One-way  string encryption</strong> (hashing)</td>
</tr>
<tr>
<td>echo</td>
<td>Output one or more strings</td>
</tr>
<tr>
<td>explode</td>
<td><strong>Split a string</strong> by  string.</p>
<p>Syntax:explode(&#8216;-&#8217;,'php-freelancer&#8217;);</p>
<p>Return: array.<br />
<a href="http://phpexplode.blogspot.com/" target="php explode more  details">php explode more details</a></td>
</tr>
<tr>
<td>fprintf</td>
<td>Write a <strong>formatted string</strong> to a stream</td>
</tr>
<tr>
<td>get_html_translation_table</td>
<td>Returns the translation table used by  htmlspecialchars() and htmlentities()</td>
</tr>
<tr>
<td>hebrev</td>
<td>Convert logical Hebrew text to <strong>visual  text</strong></td>
</tr>
<tr>
<td>hebrevc</td>
<td>Convert  <strong>logical Hebrew</strong> text to visual text with newline conversion</td>
</tr>
<tr>
<td>html_entity_decode</td>
<td>Convert all <strong>HTML  entities</strong> to their applicable characters</td>
</tr>
<tr>
<td>htmlentities</td>
<td>Convert all applicable  characters to <strong>HTML entities</strong></td>
</tr>
<tr>
<td>htmlspecialchars_decode</td>
<td><strong>Convert  special HTML entities</strong> back to characters</td>
</tr>
<tr>
<td>htmlspecialchars</td>
<td>Convert special  characters to <strong>HTML entities</strong></td>
</tr>
<tr>
<td>implode</td>
<td>Join array <strong>elements </strong>with a  <strong>string</strong></td>
</tr>
<tr>
<td>join</td>
<td>Alias  of <strong>implode()</strong></td>
</tr>
<tr>
<td>levenshtein</td>
<td>Calculate  Levenshtein distance between two strings</td>
</tr>
<tr>
<td>localeconv</td>
<td>Get numeric formatting  information</td>
</tr>
<tr>
<td>ltrim</td>
<td><strong>Strip/remove  whitespace</strong> (or other characters) from the beginning of a string</td>
</tr>
<tr>
<td>md5_file</td>
<td><strong>Calculates the md5 hash</strong> of a given file</td>
</tr>
<tr>
<td>md5</td>
<td>Calculate  the <strong>md5</strong> hash of a string</td>
</tr>
<tr>
<td>metaphone</td>
<td>Calculate the <strong>metaphone key</strong> of a string</td>
</tr>
<tr>
<td>money_format</td>
<td>Formats a number as a <strong>currency  string</strong></td>
</tr>
<tr>
<td>nl_langinfo</td>
<td>Query  language and locale information</td>
</tr>
<tr>
<td>nl2br</td>
<td>Inserts <strong>HTML line breaks</strong> before all newlines in a  string</td>
</tr>
<tr>
<td>number_format</td>
<td><strong>Format  a number</strong> with grouped thousands</td>
</tr>
<tr>
<td>ord</td>
<td>Return <strong>ASCII</strong> value of  character</td>
</tr>
<tr>
<td>parse_str</td>
<td>Parses  the <strong>string</strong> into variables</td>
</tr>
<tr>
<td>print</td>
<td>Output a string</td>
</tr>
<tr>
<td>printf</td>
<td>Output a <strong>formatted string</strong></td>
</tr>
<tr>
<td>quoted_printable_decode</td>
<td>Convert a <strong>quoted-printable</strong> string to an 8 bit string</td>
</tr>
<tr>
<td>quotemeta</td>
<td>Quote meta <strong>characters</strong></td>
</tr>
<tr>
<td>rtrim</td>
<td>Strip whitespace (or other  characters) from the end of a string</td>
</tr>
<tr>
<td>setlocale</td>
<td>Set locale information</td>
</tr>
<tr>
<td>sha1_file</td>
<td>Calculate the sha1 hash of a  file</td>
</tr>
<tr>
<td>sha1</td>
<td>Calculate  the sha1 hash of a string</td>
</tr>
<tr>
<td>similar_text</td>
<td>Calculate the similarity between <strong>two strings</strong></td>
</tr>
<tr>
<td>soundex</td>
<td>Calculate the <strong>soundex key</strong> of a string</td>
</tr>
<tr>
<td>sprintf</td>
<td>Return  a formatted string</td>
</tr>
<tr>
<td>sscanf</td>
<td>Parses  input from a string according to a format</td>
</tr>
<tr>
<td>str_ireplace</td>
<td><strong>Case-insensitive</strong> version of str_replace().</td>
</tr>
<tr>
<td>str_pad</td>
<td>Pad  a string to a certain length with another string</td>
</tr>
<tr>
<td>str_replace</td>
<td>Replace all occurrences of  the <strong>search string</strong> with the replacement string</td>
</tr>
<tr>
<td>str_rot13</td>
<td>Perform the rot13 transform on  a string</td>
</tr>
<tr>
<td>str_shuffle</td>
<td>Randomly  <strong>shuffles a string</strong></td>
</tr>
<tr>
<td>str_split</td>
<td>Convert a <strong>string to an array</strong></td>
</tr>
<tr>
<td>str_word_count</td>
<td>Return information about  words used in a <strong>string</strong></td>
</tr>
<tr>
<td>strcasecmp</td>
<td>Binary safe case-insensitive string comparison</td>
</tr>
<tr>
<td>strchr</td>
<td>Alias of strstr()</td>
</tr>
<tr>
<td>strcmp</td>
<td>Binary safe string comparison</td>
</tr>
<tr>
<td>strcoll</td>
<td>Locale based string comparison</td>
</tr>
<tr>
<td>strcspn</td>
<td>Find length of initial segment  not matching mask</td>
</tr>
<tr>
<td>strip_tags</td>
<td><strong>Strip  HTML and PHP</strong> tags from a string</td>
</tr>
<tr>
<td>stripcslashes</td>
<td><strong>Un-quote</strong> string  quoted with addcslashes()</td>
</tr>
<tr>
<td>stripos</td>
<td>Find  position of <strong>first occurrence</strong> of a case-insensitive string</td>
</tr>
<tr>
<td>stripslashes</td>
<td>Un-quote string quoted with  addslashes()</td>
</tr>
<tr>
<td>stristr</td>
<td>Case-insensitive  strstr()</td>
</tr>
<tr>
<td>strlen</td>
<td>Get  string length</td>
</tr>
<tr>
<td>strnatcasecmp</td>
<td><strong>Case  insensitive string</strong> comparisons using a &#8220;natural order&#8221; algorithm</td>
</tr>
<tr>
<td>strnatcmp</td>
<td>String comparisons using a  &#8220;natural order&#8221; algorithm</td>
</tr>
<tr>
<td>strncasecmp</td>
<td>Binary safe <strong>case-insensitive string</strong> comparison  of the first n characters</td>
</tr>
<tr>
<td>strncmp</td>
<td>Binary  safe string comparison of the first n characters</td>
</tr>
<tr>
<td>strpbrk</td>
<td>Search a string for any of a set  of characters</td>
</tr>
<tr>
<td>strpos</td>
<td>Find  position of first occurrence of a string</td>
</tr>
<tr>
<td>strrchr</td>
<td>Find the last occurrence of a  character in a string</td>
</tr>
<tr>
<td>strrev</td>
<td><strong>Reverse  a string</strong></td>
</tr>
<tr>
<td>strripos</td>
<td>Find  position of <strong>last occurrence</strong> of a case-insensitive string in a  string</td>
</tr>
<tr>
<td>strrpos</td>
<td>Find  position of <strong>last occurrence</strong> of a char in a string</td>
</tr>
<tr>
<td>strspn</td>
<td>Find length of initial segment  matching mask</td>
</tr>
<tr>
<td>strstr</td>
<td>Find  first occurrence of a string</td>
</tr>
<tr>
<td>strtok</td>
<td>Tokenize string</td>
</tr>
<tr>
<td>strtolower</td>
<td>Make a string <strong>lowercase</strong></td>
</tr>
<tr>
<td>strtoupper</td>
<td>Make a string <strong>uppercase</strong></td>
</tr>
<tr>
<td>strtr</td>
<td><strong>Translate certain characters</strong></td>
</tr>
<tr>
<td>substr_compare</td>
<td>Binary safe optionally  case insensitive comparison of 2 strings from an offset, up to length  characters</td>
</tr>
<tr>
<td>substr_count</td>
<td>Count  the <strong>number of substring</strong> occurrences</td>
</tr>
<tr>
<td>substr_replace</td>
<td><strong>Replace text</strong> within  a portion of a string</td>
</tr>
<tr>
<td>substr</td>
<td>Return  part of a string</td>
</tr>
<tr>
<td>trim</td>
<td>Strip  whitespace (or other characters) from the beginning and end of a string</td>
</tr>
<tr>
<td>ucfirst</td>
<td>Make a string&#8217;s first character  uppercase</td>
</tr>
<tr>
<td>ucwords</td>
<td><strong>Uppercase</strong> the first character of each word in a string</td>
</tr>
<tr>
<td>vfprintf</td>
<td>Write a formatted string to a  stream</td>
</tr>
<tr>
<td>vprintf</td>
<td>Output  a formatted string</td>
</tr>
<tr>
<td>vsprintf</td>
<td>Return  a formatted string</td>
</tr>
<tr>
<td>wordwrap</td>
<td><strong>Wraps</strong> a string to a given number of characters using a string break character</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.bageshsingh.com/bagesh-blog/2010/06/list-all-string-functions-in-php-php-string-function-list-is-very-userfull-in-any-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
