Now we're getting somewhere maybe? ;-) On my text examples it seems to look good but I think it's not much different than using a \s <? if ($foo) ?> <?= $foo ?> <?=$foo;?> <? if($foo) ?> <?php $foo='bar'; ?> <?= $foo ?> <?=$foo?> <?echo 'i told you so';?> <?phpecho 'this one fails';?> If I substitute '<?php' then I end up with this: <?php if ($foo) ?> <?= $foo ?> <?=$foo;?> <?php if($foo) ?> <?php $foo='bar'; ?> <?= $foo ?> <?=$foo?> <?phpecho 'i told you so';?> <-- this one breaks now though <?phpecho 'this one fails';?> <-- don't care as it was broken to begin with Is there a way to tweak the substitution with that same lookahead idea so if it was <? Followed by a character NOT a = then it adds a space? > -----Original Message----- > From: Joshua Kehn [mailto:josh.kehn@xxxxxxxxx] > Sent: Friday, February 14, 2014 11:31 AM > To: Daevid Vincent > Cc: php-general@xxxxxxxxxxxxx > Subject: Re: Anyone have a tool/script to convert <? to <?php (but not > <?=) > > Use a lookahead: > > <\?(?!(=|php)) > > http://l.kehn.io/image/1H2J0p0T472k > > --jk > > On 14 Feb 2014, at 11:21, Daevid Vincent wrote: > > > Try it... > > > > <?php $foo='bar'; ?> > > <?= $foo ?> > > <?=$foo?> > > <?echo 'i told you so';?> > > <?phpecho 'this one fails';?> > > > > The ONLY one that gives a parser error is the LAST one where yes, a > > space is required after a <?php > > > > That is NOT the case for <? or <?= > > > >> -----Original Message----- > >> From: Aziz Saleh [mailto:azizsaleh@xxxxxxxxx] > >> Sent: Friday, February 14, 2014 10:54 AM > >> To: Daevid Vincent > >> Cc: php-general@xxxxxxxxxxxxx > >> Subject: Re: Anyone have a tool/script to convert <? to <?php > >> (but not > >> <?=) > >> > >> What I posted (and all the others) would work, replacing all > >> instances of > >> "<? " (notice the space) with "<?php " should work, it will leave all > >> existing <?= and <?php alone (since having a space after ? and > >> before > >> =/php would produce a parser error. > >> > >> Not sure why you are saying that spaces are irrelevant thou. > >> > >> > >> On Fri, Feb 14, 2014 at 1:34 PM, Daevid Vincent <daevid@xxxxxxxxxx> > >> wrote: > >> > >>> *sigh* > >>> > >>> <?=$foo?> is perfectly valid so is <?=$foo;?> or any combination > >>> WITH > >>> SPACES OR NOT. > >>> If this were trivial, I wouldn't have asked the list. I've been > >>> coding PHP > >>> since 1996. ;-) > >>> > >>> So if you have <? you have to make sure it doesn't have a '=' after > >>> the > >>> '?' to convert to '<?php' > >>> > >>> Spaces are irrelevant and can NOT be relied upon as a unique > >>> feature. > >>> > >>>> -----Original Message----- > >>>> From: Daevid Vincent [mailto:daevid@xxxxxxxxxx] > >>>> Sent: Wednesday, February 12, 2014 2:57 PM > >>>> To: php-general@xxxxxxxxxxxxx > >>>> Subject: RE: Anyone have a tool/script to convert <? to <?php > >>>> (but > >>> not > >>>> <?=) > >>>> > >>>> Thanks guys for the replies so far, however, if it were a simple > >>>> search > >>> and > >>>> replace I wouldn't have to ask ;-) > >>>> > >>>> The trick is that "<?=" is valid and legal and I want to keep > >>>> those. I > >>> only > >>>> want to change if they are specifically "<?" > >>>> > >>>> Maybe there is some regex guru out there that knows the magic > >>> incantation. > >>>> > >>>> Related, for extra credit it drives me bonkers to see this: > >>>> > >>>> Hello <?= $username; ?> > >>>> > >>>> Note the end semicolon on the variable. I'd want to strip all those > >>>> off > >>> too, > >>>> but that is also not a trivial task if you think about it as it can > >>>> only > >>> be > >>>> removed if proceeded with <?= > >>>> > >>>> > >>>> > >>>> -- > >>>> PHP General Mailing List (http://www.php.net/) > >>>> To unsubscribe, visit: http://www.php.net/unsub.php > >>> > >>> > >>> -- > >>> PHP General Mailing List (http://www.php.net/) > >>> To unsubscribe, visit: http://www.php.net/unsub.php > >>> > >>> > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php