Wert aus txt auslesen und in ein bestimmtes feld setzen
Hallo,
ich benutze folgenden Text um bei einem bestimmten Wert einen bestimmten Begriff in ein bestimmtes Feld zu setzen:
Die daten liegen in einer txt datei unter idaten:
function GetIFoto(AProposedValues) {
if (MatchText("%jpg%", IDaten)) { return "Foto"; }
else if (MatchText("%mpg%", IDaten)) { return "Film"; }
else return False;
}
funtioniert eiwandfrei.
wenn ich aber einen Wert auslesen will z.b. die länge des Films
sieht in dem Textfile so aus:
Duration : 2 h 0 min
wie würde dann die Funktion für:
function GetIRuntime setzten ?
Er soll nicht mit match arbeiten und eintragen sondern er so aus "2 h 0 min" dann "2:00:00" und in neinem bestimmten Feld eintragen ....
ICh hoffen ich bin hier richtig und ihr könnt mir helfen ...
Vielen Dank ...
ich benutze folgenden Text um bei einem bestimmten Wert einen bestimmten Begriff in ein bestimmtes Feld zu setzen:
Die daten liegen in einer txt datei unter idaten:
function GetIFoto(AProposedValues) {
if (MatchText("%jpg%", IDaten)) { return "Foto"; }
else if (MatchText("%mpg%", IDaten)) { return "Film"; }
else return False;
}
funtioniert eiwandfrei.
wenn ich aber einen Wert auslesen will z.b. die länge des Films
sieht in dem Textfile so aus:
Duration : 2 h 0 min
wie würde dann die Funktion für:
function GetIRuntime setzten ?
Er soll nicht mit match arbeiten und eintragen sondern er so aus "2 h 0 min" dann "2:00:00" und in neinem bestimmten Feld eintragen ....
ICh hoffen ich bin hier richtig und ihr könnt mir helfen ...
Vielen Dank ...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 340396
Url: https://administrator.de/forum/wert-aus-txt-auslesen-und-in-ein-bestimmtes-feld-setzen-340396.html
Ausgedruckt am: 22.04.2025 um 15:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
naja, du kannst ja nach dem Wert/ der Zeile, in der der Begriff "Duration" enthalten ist, suchen.
Diese Zeile verwendest du,
Du müsstets nur prüfen/ abfangen, dass deine Minuten ebenfalls zweistellig verwendet werden, wenn dies <10 sind...
Gruß
em-pie
naja, du kannst ja nach dem Wert/ der Zeile, in der der Begriff "Duration" enthalten ist, suchen.
Diese Zeile verwendest du,
- und spliitest (str_split()) mittels des Trennzeichens ":"
- oder aber du liest erst ab dem 11 Zeichen, von links beginnend ein.
Du müsstets nur prüfen/ abfangen, dass deine Minuten ebenfalls zweistellig verwendet werden, wenn dies <10 sind...
Gruß
em-pie

Mögliche Variante:
Gruß
p.s. Wo holst du die Funktion MatchText() her?? In PHP gibts die jedenfalls nicht, da gibts nur preg_match() /preg_match_all().
<?PHP
$content = file_get_contents('file.txt');
if (preg_match("/Duration\s*:\s*((\d+)\s*h)?\s*((\d+)\s*min)?/is",$content,$match)){
$hours = ($match[2] != '') ? str_pad($match[2],2,'0',STR_PAD_LEFT) : '00';
$minutes = ($match[4] != '') ? str_pad($match[4],2,'0',STR_PAD_LEFT) : '00';
echo "$hours:$minutes:00";
}
?>
p.s. Wo holst du die Funktion MatchText() her?? In PHP gibts die jedenfalls nicht, da gibts nur preg_match() /preg_match_all().