Suchen und ersetzen in VBS
Hallo, bin neu hier und dies ist mein erster Beitrag hier.
(tut mit leid wenn ich etwas kompliziert schreibe)
hab mir ein vb-script gebastelt das in einem html-code zwei sachen ersetzen soll, doch so richtig funktioniert das noch nicht.
am besten ich poste erst mal den (relevanten) teil meines scriptes:
und den (relevanten) html-code
wenn ich mein script aber nun auf den html-code loslasse schreibt er mir nur die erste Zeile meines html-codes neu und den rest lässt
er weg
das sieht dann so aus:
wie bekomme ich es nun hin das der Text durchsucht wird und die beiden Sachen (Button und Link) durch die von mir gewünschten Sachen ersetzt werden?
Ich freue mich auf eure Hilfe
Gruß novedad
(tut mit leid wenn ich etwas kompliziert schreibe)
hab mir ein vb-script gebastelt das in einem html-code zwei sachen ersetzen soll, doch so richtig funktioniert das noch nicht.
am besten ich poste erst mal den (relevanten) teil meines scriptes:
set fso = createobject("scripting.filesystemobject")
set file = fso.opentextfile("code.txt", 1)
line = file.readline()
line = replace(line, "LINK", "http://www.google.de", 1, 1)
line = replace(line, "BUTTON", "Startseite", 1, 1)
file.close()
set file = fso.createtextfile("code.txt", true)
file.writeline(line)
und den (relevanten) html-code
<SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>
<!-- Popup -->
<!--
var win=null;
function NewWindow(mypage,myname,w,h,pos,infocus){
if(pos=="random"){myleft=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;mytop=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){myleft=(screen.width)?(screen.width-w)/2:100;mytop=(screen.height)?(screen.height-h)/2:100;}
else if((pos!='center' && pos!="random") || pos==null){myleft=0;mytop=20}
settings="width=" + w + ",height=" + h + ",top=" + mytop + ",left=" + myleft + ",scrollbars=yes,location=yes,directories=yes,status=yes,menubar=yes,toolbar=yes,resizable=yes";win=window.open(mypage,myname,settings);
win.focus();}
// -->
</script>
<input type="button" name="B1" value="BUTTON"
onClick="NewWindow('LINK','mypopup','1024','768','center','front');">
wenn ich mein script aber nun auf den html-code loslasse schreibt er mir nur die erste Zeile meines html-codes neu und den rest lässt
er weg
das sieht dann so aus:
<SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>
wie bekomme ich es nun hin das der Text durchsucht wird und die beiden Sachen (Button und Link) durch die von mir gewünschten Sachen ersetzt werden?
Ich freue mich auf eure Hilfe
Gruß novedad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142598
Url: https://administrator.de/contentid/142598
Ausgedruckt am: 20.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Na ja, Dein Code liest genau EINE Zeile ein.
Mehr nicht.
Und schreibt auch nur genau diese eine Zeile.
Wieso sollte dann mehr im Ergebnis stehen?
Einfachste Lösung wäre:
Wobei der Speicherverbrauch bei ReadAll, wenn die Datei sehr groß ist, exorbitant wird.
Ansonsten sollte man die Datei Zeile für Zeile einlesen:
Und bei der Ausgabe natürlich Zeile für Zeile schreiben.
Mehr nicht.
Und schreibt auch nur genau diese eine Zeile.
Wieso sollte dann mehr im Ergebnis stehen?
Einfachste Lösung wäre:
set fso = createobject("scripting.filesystemobject")
set file = fso.opentextfile("code.txt", 1)
line = file.readAll()
line = replace(line, "LINK", "http://www.google.de", 1, 1)
line = replace(line, "BUTTON", "Startseite", 1, 1)
file.close
set file = fso.createtextfile("code.txt", true)
file.write(line)
file.close
Ansonsten sollte man die Datei Zeile für Zeile einlesen:
set fso = createobject("scripting.filesystemobject")
set file = fso.opentextfile("code.txt", 1)
while not file.AtEndOfStream
line = file.readline()
wend
file.close
Wobei,wenn mehrere Ersetzungen möglich sind, im Replace die letzte 1 (=Anzahl) wegzulassen oder durch eine -1 zu ersetzen wäre.
Gruß
LotPings
Gruß
LotPings