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