![]() |
Problem mit Regex
Hallo,
leider stehe ich mit Regex auf Kriegsfuss. Daher die Bitte man möge mir vieleicht helfen. Folgender Code (Jakarta Velosity Macros):
Delphi-Quellcode:
Hierbei handelt es sich um HTML-Code mit Variablen (z.B. $LBL_DELETE) und Macros (#help_icontext("DELETE" $LBL_DELETE)). Ich möchte nun als erstes alle Variablen auflösen,Dieser Dialog wird angezeigt, wenn Sie im linken Seitenbereich der #help_link("HELPTOPIC_APPLICATIONADMINPAGE" false) aus dem Kontextmenü eines Objekts im Baum den Menüpunkt #help_icontext("DELETE" $LBL_DELETE) ausgewählt haben.</p> #help_yesnobuttonsstart() Das ausgewählte Objekt wird unwiderruflich gelöscht und kann nicht wiederhergestellt werden.</p> #help_yesnobuttonsend() #help_confirminfo("$CONFIRMMESSAGEKEY_DELETEAPPLICATION") also muss ich die irgenwie herausfilten und ersetzen. Danach muss ich die Macros filtern und auflösen. Ich dachte mir da wäre Regex nicht schlecht. Leider bekomme ich nichts zusammen mit dem iregend etwas anzufangen wäre. gruss andreas |
Re: Problem mit Regex
Hallo colder,
in Delphi oder PHP? Delphi...
Delphi-Quellcode:
PHP...
procedure FindVars(HTML:string; Vars:TStrings);
var Regexpr:TRegExpr; begin Vars.Clear; Regexpr:=TRegExpr.Create; try Regexpr.Expression:='\$[_A-Z]*'; if Regexpr.Exec(HTML) then begin repeat Vars.Append(Regexpr.Match[0]); until not Regexpr.ExecNext; end; finally Regexpr.free; end; end;
Code:
Gruss
if (preg_match_all('/\$[_A-Z]*/', $html, $match)) {
for($i = 0; $i < count($match[0]); $i++) { echo $match[0][$i] . " "; } } Thorsten |
Re: Problem mit Regex
Code:
Vielleicht hilft dir das....
import org.apache.oro.text.perl.*;
... ... ... Perl5Util reg=new Perl5Util(); reg.match("/blubb/","text_blubb_text") int i=0; while(i<=reg.groups()){ System.out.println(reg.group(i)); } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz