Tag Archive: regex


In PHPStorm, you can do a regex find and replace. To upgrade a crappy old site using <?, just use the following regex:

#<\?(?!=|php|xml)#

https://regex101.com/r/yD6dK5/5

I’m loving the CLI executables right now, making loads of them! Remember you don’t get the memory or time out issues that you do on the web server php.

However I noticed that the regex broke when we had a hyphen separated option name, such as –most-recent for instance. It turns out PHP uses a command called getopt() (unsurprisingly). I was about to start using this when I realised that we can actually use Zend_Console_Getopt() instead!

Building on my previous post, I have changed the script somewhat. Check it out, it’s easy enough to follow!

 

#!/usr/bin/env php
<?php
/* Load Zend Framework or Freak out */
try
{
 require_once(__DIR__.'/../../inc/zend_init.php');
$config = array(
 'help' => ' Display this help',
 'most-recent' => ' Select most recent results',
 'year=i' => ' Select the Year year=[year]',
 'week=i' => ' Select the Week week=[week]',
 );

 $options = new Zend_Console_Getopt($config);
 $options->parse();
}
catch(Exception $e)
{
 die("\n".$e->getMessage());
}

if(!empty($options->year) && !empty($options->week))
{
 try
 {
 // code here
 }
 catch(Exception $e)
 {
 echo "\n** ERROR DETECTED **\n ".$e->getMessage()."\n\n";
 }
}
elseif(!empty($options->{'most-recent'}))
{
 //code here
}
else
{
 die($options->getUsageMessage());
}

Note the curly brackets! This is how you deal with hyphens when using Object notation. Also, in the config, you’ll see year=i. This means it is an integer. You can also have =s, being a string. Check the Zend Framework manual for more details, and have fun!