On 11/15/05, Greg Donald <destiney@xxxxxxxxxxxx> wrote: > On Tue, 15 Nov 2005, Jim Moseby wrote: > > >> for file in *.php; do > >> cp $file $file.tmp > >> sed -e "s/<?$/<?php/g" $file.tmp >$file > >> rm $file.tmp > >> done > > > > I maintain: "Better to save the grief and do it right to start with, no?" > > Maybe at some point I too will be lucky enough to only work on code that > I authored. > > for file in *.php; do > cp $file $file.tmp > php -r 'echo preg_replace("/<\?php=\s*/i","<?php echo > ",preg_replace("/<\?(?!php)/i","<?php",file_get_contents($argv[1])));' > $file.tmp >$file > rm $file.tmp > done I'd be inclined to do it with the tokenizer functions with something like this (untested): <?php $source = file_get_contents($argv[1]); $token = token_get_all($source); foreach ($token as $t) { if (is_string($t)) { print $t; continue; } switch ($t[0]) { case T_OPEN_TAG_WITH_ECHO: print '<?php echo '; break; case T_OPEN_TAG: print '<?php '; break; case T_CLOSE_TAG: print ' ?>'; break; default: print $t[1]; } } ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php