an excelent tool: The Regex Coach, its free and you can grab it from http://weitz.de/regex-coach/ and its available for windows and linux!
luis. <[EMAIL PROTECTED]> escribió en el mensaje news:[EMAIL PROTECTED] > Hello all, > > For a while I tried in vain to find a decent regular expression tester. The closest I found > was RegExpEditor, by the same people who produce PHPEdit, but I found it to be slow > and didn't like its constant bitching about "invalid delimiters" or some such thing. > > Anyway, I ended up writing a little tester for Perl-compatible regular expressions and > thought I'd share it with you. Maybe it'll come in handy to people who often need to use > regular expressions in their projects. Just copy the code below the dotted line (which > has Unix line breaks) and save it to a file. > > Cheers, > > Erik > > -------- > > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> > <title>Regular Expression Tester</title> > <?php( isset($_POST['text']) && isset($_POST['regexp']) ) > { > $error = false; > if($_POST['mode'] == 'one') > { > if( @preg_match('/'.$_POST['regexp'].'/', $_POST['text'], $matches) === > false ) > { > $error = true; > } > } > else > { > if( @preg_match_all('/'.$_POST['regexp'].'/', $_POST['text'], $matches) > === false ) > { > $error = true; > } > } > } > ?> > </head> > <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;"> > <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post" > enctype="multipart/form-data"> > <table width="750"> > <tr> > <td width="135"><div align="right">Regular expression:</div></td> > <td width="591"> > <input name="regexp" type="text" size="87" > <?php if( isset($_POST['regexp']) ) {print 'value="'.$_POST['regexp'].'"';} ?> > /> > </td> > </tr> > <tr> > <td width="135"><div align="right">Text:</div></td> > <td width="591"> > <textarea name="text" rows="6" cols="65"> > <?php if( isset($_POST['text']) ) {print $_POST['text'];} ?> > </textarea> > </td> > </tr> > <tr> > <td width="135"><div align="right">Mode:</div></td> > <td width="591"> > <select name="mode"> > <option value="one" > <?php( isset($_POST['mode']) && $_POST['mode'] == 'one' ) > { > print 'selected'; > } > ?> > >First match</option> > <option value="all" > <?php( isset($_POST['mode']) && $_POST['mode'] == 'all' ) > { > print 'selected'; > } > ?> > >All matches</option> > </select> > </td> > </tr> > <tr> > <td width="135"> </td> > <td> <input type="submit" value="RUN TEST"/> > > <input type="reset" value="CLEAR FORM"/></td> > </tr> > </table> > </form> > <p/> > <div style="background-color:#000000; color:#FFFFFF;"> > <table width="750" border="10" bordercolor="#000000"> > <?php($error) > { > exit('<tr><td><span style="color: lime; font-weight: bold;">'. > 'Invalid regular expression!</span></td></tr>'); > } > ( isset($matches) && !empty($matches[0]) ) > { > print '<tr><td colspan="2" style="font-weight:bold;">Full match(es):</td></tr>'. > '<tr><td colspan="2"> </td></tr>'; > > if( !is_array($matches[0]) ) > { > print '<tr>'. > '<td width="25" style="font-weight: bold;">1</td>'."\n". > '<td>'.htmlentities($matches[0]).'</td>'. > '<tr/>'; > } > else > { > foreach($matches[0] as $key => $val) > { > print '<td width="25" style="font-weight: bold;">'.($key+1). > '</td>'."\n".'<td>'.htmlentities($val).'</td>'."\n". > '</tr>'; > } > } > } > { > print '<tr><td><span style="color: lime; font-weight: bold;">'. > 'No matches found.</span></td></tr>'; > } > ( isset($matches[1]) && !empty($matches[1]) ) > { > print '<tr width="100%"><td colspan="2"> </td></tr>'. > '<tr width="100%"><td colspan="2"><hr/></td></tr>'. > '<tr width="100%"><td colspan="2"> </td></tr>'. > '<tr width="100%"><td colspan="2" style="font-weight:bold;">'. > 'Sub-pattern match(es):</td></tr>'. > '<tr width="100%"><td colspan="2"> </td></tr>'; > for($i = 1; $i < count($matches); $i++) > { > if( !is_array($matches[$i]) ) > { > print '<tr width="100%">'. > '<td width="25" style="font-weight: > bold;">'.$i.'</td>'."\n". > '<td>'.htmlentities($matches[$i]).'</td>'. > '</tr>'; > } > else > { > foreach($matches[$i] as $key => $val) > { > print '<tr width="100%">'. > '<td width="25" style="font-weight: > bold;">'.$i.'.'.($key+1). > '</td>'."\n".'<td>'.htmlentities($val).'</td>'."\n". > '</tr>'; > } > } > if( isset($matches[$i+1]) ) > { > print '<tr width="100%"><td colspan="2"> </td></tr>'; > } > } > } > ?> > </table> > </div> > </body> > </html> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php