Monday, December 5, 2011

How do I count the number of tr elements within a table using jquery.

This can be a most basic question, but it may keep us busy us for hours wasting our time.

Use a selector that will select all the rows and take the length.
var rowCount = $('#myTable tr').length;

Note: this approach also counts all trs of every nested table!
$('#myTable tr').size() will return the same value
the docs indicate that length is preferred over size() because it's faster

Sunday, December 4, 2011

Javascript IsInteger

A simple and javascript function to check whether the string is an integer.

function isInteger(s){
var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))){
return false;
    // All characters are numbers.
    return true;

Saturday, December 3, 2011

How to change PHP's eregi to preg_match

This function eregi has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

Now what we need is to replace the eregi functions used in our old applications with some new functions that are still not depreciated...
First i will describe functionality of eregi() and then i will go for appropriate function to replace it.

eregi — Case insensitive regular expression match

int eregi ( string $pattern , string $string [, array &$regs ] )

This function is identical to ereg() except that it ignores case distinction when matching alphabetic characters.


Case insensitive regular expression.
The input string.
If matches are found for parenthesized substrings of pattern and the function is called with the third argument regs, the matches will be stored in the elements of the array regs.
$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.

return Values

Returns the length of the matched string if a match for pattern was found in string, or FALSE if no matches were found or an error occurred.
If the optional parameter regs was not passed or the length of the matched string is 0, this function returns 1.

A good alternative is to use preg_match() function

Now lets talk about preg_match

preg_match — Perform a regular expression match


int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] )
Searches subject for a match to the regular expression given in pattern.

More details can be found at php.net http://in2.php.net/manual/en/function.preg-match.php

Now How to replace eregi with preg_match

You will need to change three things
  1. need to add pattern delimiters (can be any character, but most commonly a forward slash)
  2. [[:alnum:]] will need to be replaced with the PCRE equivalent
  3. The "i" in "eregi" means case-insensitive, which PCRE does with a flag, specifically the i flag.
Otherwise, the rest looks PCRE compatible (yes, that's kind of redundant =P)

Thursday, December 1, 2011

How to change version of php in Xampp

Take this example that makes PHP version from 5.3 to 5.2 in Xampp

  1. Download and install latest xampp to G:\xampp. As of 2010/03/12, this is 1.7.3.
  2. Download the zip of xampp-win32-1.7.0.zip, which is the latest xampp distro without php 5.3. Extract somewhere, e.g. G:\xampp-win32-1.7.0\
  3. Remove directory G:\xampp\php
  4. Remove G:\xampp\apache\modules\php5apache2_2.dll and php5apache2_2_filter.dll
  5. Copy G:\xampp-win32-1.7.0\xampp\php to G:\xampp\php.
  6. Copy G:\xampp-win32-1.7.0\xampp\apache\bin\php* to G:\xampp\apache\bin
  7. Edit G:\xampp\apache\conf\extra\httpd-xampp.conf.
    • Immediately after the line, <IfModule alias_module> add the lines
<IfModule mime_module>
  LoadModule php5_module "/xampp/apache/bin/php5apache2_2.dll"
  AddType application/x-httpd-php-source .phps
  AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
    <Directory "/xampp/htdocs/xampp">
      <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
(Note that this is taken from the same file in the 1.7.0 xampp distribution. If you run into trouble, check that conf file and make the new one match it.)
You should then be able to start the apache server with PHP 5.2.8. You can tail the G:\xampp\apache\logs\error.log file to see whether there are any errors on startup. If not, you should be able to see the XAMPP splash screen when you navigate to localhost.