Mailinglisten-Archive |
Christian Heimerl wrote:
> Sebastian Mendel wrote:
>
>> Christian Heimerl wrote:
>>
>>> <?php
>>> $x = '{LANG_TEXT2}';
>>> $x = preg_replace( "/(>[^<]*\{(LANG_.*?)\})/U", "$1{EDIT_$2}", $x
>>> );
>>> $x = preg_replace( "/(<[^>]*\{(LANG_.*?)\}.*?>)/U",
>>> "$1{EDIT_$2}", $x );
>>> echo $x;
>>> ?>
>>> rauskommen müsste:
>>> {LANG_TEXT2}{EDIT_LANG_TEXT2}
>>
>> achso, mhm ...
>> aber wieso zwei? geht doch mit einem ...
>> irgendwie so:
>> "/((?:<[^>]*)?\{(LANG_[^\}]*)\}(?:[^<]*>)?)/"
>> und wäre nicht auch preg_replace_all() besser?
>
>
> ich muss schon sagen... wow
> hab zwar keine ahnung was du da machst, funktioniert aber
> wunderbar
optionales < aber nur wenn kein > folgt
(?:<[^>]*)?
dein LANG_TEXT Wort
\{(LANG_[^\}]*)\}
optionales > aber nur wenn kein < vorher kam
(?:[^<]*>)?
()? bedeutet ein oder kein mal
(?:) bedeutet nicht in Variable ablegen
[^<] alles, außer das genannte Zeichen
--
Sebastian Mendel
www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive