Hallo zusammen,
folgendes script filtert Überschriften und links von der Webseite http://www.heise.de/thema/Patchday
Das funktioniert eigentlich auch ganz gut. Nun habe ich ein weiteres Suchwort namens 'Apple' der Variable $Searchwords hinzugefügt. Nun wird der link in der Ausgabe abgeschnitten und nur noch der erste Buchstabe 'w' angezeigt. Alle anderen links werden richtig
dargestellt.
Testweise habe ich noch mit anderen Suchwörten getestet, bei einigen tritt dieses Problem auch auf. (Der Übersichthalberversichte ich hier auf die Wörter).
Die Variable $Links zeigt den link noch richtig an. Erst nachdem $Links den Loop
$i = 0; $Title | ForEach-Object -Process {"`n`n"+'Überschrift:'+"`n"+'============'+"`n"+"$_ $("`n`n"+'Link:'+"`n"+'====='+"`n`r"+ $Links[$i])";$i++}
durchlaufen hat, wird nur dieser link beschnitten. Alle anderen werden korrekt dargestellt. Ohne 'Apple' sieht alles gut aus.
Ich habe keine Ahnung wo ich den Fehler nun suchen soll und bin für jede Idee dankbar!
Sönke
#set variables
$website = Invoke-WebRequest -uri 'http://www.heise.de/thema/Patchday' $Heise = 'www.heise.de' $SearchWords = 'Reader', 'Flash', 'Patchday: Microsoft', 'Adobe-Patchday:', 'Apple' $Endresult = 'c:\temp\Endresult.Log' $EndresultLastSend = 'c:\temp\EndresultLastSend.log"' # searchand filter in whole website $Searchresult = Foreach ($Word in $Searchwords) { # Filter searchwords text $Title = $Website.Links | Where-Object {$_.innertext -match "$Word"} | Select-Object -expandproperty innertext #Filter searchwords links $Link = $Website.links | Where-Object {$_.innertext -match "$Word"} | Select-Object -expandproperty href #Merge heise.de with links $Links = Foreach ($Line in $Link) {$Heise+$Line} #Merge text and links $i = 0; $Title | ForEach-Object -Process {"`n`n"+'Überschrift:'+"`n"+'============'+"`n"+"$_ $("`n`n"+'Link:'+"`n"+'====='+"`n`r"+ $Links[$i])";$i++} } $Searchresult | Out-File $Endresult -Encoding utf8