Re: Need help with regular expression
| From: | Maxim Antonov | Date: | Thu, 10 Jul 2008 09:24:06 +0000 |
| Subject: | Re: Need help with regular expression | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276572@lists.php.net to get a copy of this message | ||
Hello.
But I need no td and tr inside regular expression
It is a part of my templater.
In real code it looks like:
if(strlen($item[$key])<1){
return preg_replace('#\{%%%.*?\{%'.$key.'%\}.*?%%%\}#is','',$tpl);
}
if one of $key inside {%%% .... %%%} points to empty array item - all section between {%%% %%%} must be deleted.
Daniel Brown :
On Wed, Jul 9, 2008 at 5:21 AM, Maxim Antonov <max@maxantonov.name> wrote:Hi, all! I try to use folowing regular expression: $out = preg_replace('#\{%%%.*?\{%bigfoto%\}.*?%%%\}#is','==REPLACEMENT==',$str);[snip!]I need result as: <tr><td>NAME:</td><td><input type="text" name="name" value="" size="80"/></td></tr> <tr><td>Foto:</td><td><input type="file" name="foto" value="{%foto%}" /> {%%%<br/><img alt="{%name%}" src="{%foto%}"/>%%%} </td></tr> ==REPLACEMENT==[snip!]To get it *exactly* as you've mentioned here, use this instead:<?php $out = preg_replace('/<tr><td>Big.*\{%%%.*\{%bigfoto%\}.*%%%\}.*<\/tr>/Uis','==REPLACEMENT==',$str); ?>