Hallo Leute,
haben unten stehen Code und der funktioniert nicht so richtig wie ich will.
In der Datei stehen mehrere Zeilen die so aussehen: style="animation: EJicyqvP_draw 55ms linear 2900ms forwards"
Hier möchte
- das der Name nach animation: ausgetauscht wird in Variable $sReplace
- der Wert vor linear ausgetauscht wird in Variable $zeit
- der Wert nach linear ausgetauscht wird in Variable $zeit * $i
Aber igendwie verschluckt sich der Code beim Austauschen der Variable nach liniear.
Mit den Suchmusterstring stehe ich auf Kriegsfuß "(?U)xxxxxxxx:\h+(\H+)\h", 3) ????
Könnte man mir helfen?
Gruß
Code
Local $sFileName = "test.txt"
Local $sText = FileRead($sFileName)
;Name der neuen animation:
Local $sReplace = "myani"
Local $zeit = "500ms"
; ändert Name nach animation:
$aArray = StringRegExp($sText, "(?U)animation:\h+(\H+)\h", 3)
For $i = 0 To UBound($aArray) - 1
ConsoleWrite("animationname: " & $aArray[$i] & @CRLF)
$sResult = StringRegExpReplace($sText, $aArray[$i], $sReplace)
Next
$animationname = $aArray[0] ;braucht man noch einmal für den animationsname, siehe unten
; das ist der gefundene wert vor linear und wird gloabl in 500ms geändert, das ist die zeitdauer für einen gezeichneten path
$aArray = StringRegExp($sResult, "(?U)" & "animation: " & $sReplace & "\h+(\H+)\h", 3)
For $i = 0 To UBound($aArray) - 1
ConsoleWrite("zeit: " & $aArray[$i] & @CRLF)
$sResult = StringRegExpReplace($sResult, $aArray[$i], $zeit)
Next
; gesamte zeit für svg
$aArray = StringRegExp($sResult, "(?U)linear\h+(\H+)\h", 3) ;suche wert nach linear
For $i = 0 To UBound($aArray) - 1
ConsoleWrite("linearezeit: " & $aArray[$i] & @CRLF)
$sResult = StringRegExpReplace($sResult, $aArray[$i], $i * $zeit)
Next
;ändert diese Einträge, kommen auch nur einmal vor
$sResult = StringRegExpReplace($sResult,"<style data-made-with=""vivus-instant"">", "<style>")
$sResult = StringRegExpReplace($sResult, "94.44444444444444%", "100%")
$sResult = StringRegExpReplace($sResult, StringTrimRight($animationname, 5), $sReplace)
ConsoleWrite($sResult)
Alles anzeigen