missing, before statement

Neue Frage »

Auf diesen Beitrag antworten »
bloody beginner missing, before statement

Meine Frage:
Hallo zusammen,

ich hab eine Redirect-Liste bekommen, auf der sich wohl ein fehler befindet, sprich 2 URL´s gleichen sich und die Seite lädt sich somit dauerhaft selbst. Um jetzt nicht alles einzeln durch zu gehen (und den Fehler wohlmöglich noch zu übersehen), dachte ich mir ein Programm zu schreiben. Leider taucht immer der Fehler "missing, before statement" auf.
Wahrscheinlich befinden sich auch noch weit mehr Fehler im Programm - bin nämlich ein relativer Neuling um ehrlich zu sein...

Meine Ideen:
Also, die Redirect´s sind immer Gleich aufgebaut:

'Irgendeine URL' 'noch ne URL' [ unwichtiger Kram ]

, das ganze dann halt nur ein paar hundert mal hintereinander.

Meine Idee also:

Ich geh die Liste Zeile für Zeile durch. Um das ganze in Zeilen einzuteilen benutze ich den Befehl .split(']'); , da ja immer ein ']' am ende jeder Zeile steht.

Dann definiere ich: var '="'";
Jetzt kann ich mir die vier Positionen von " ' " in den jeweiligen Zeilen mit .indexOf(')[0], etc. anzeigen lassen.

mit .substring( Position vom ersten ' , Position vom zweiten ')
und .substring( Position vom dritten ' , Position vom vierten ')
definiere ich die Abschnitte die verglichen werden sollen.
Dann nur noch str1.equal(str2) und ich finde heraus ob das ganze gleich ist.

Also rein von der Logik her sollte das klappen. Den Quellcode hab ich mal als Bild in den Anhang geladen und hab mal jetzt ein kurzes Beispiel rein gemacht. Wahrscheinlich sind da recht viele Formfehler drin, und ich bin mir auch nicht ganz sicher ob man einen String überhaupt als array darstellen darf, aber erst mal interessiert mich der Fehler "missing ; before statement"...
 
Auf diesen Beitrag antworten »
eulerscheZahl

Da ich keine Lust auf abtippen habe und tesseract (Texterkennung) das hier liefert:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
<! Don'w: html>
mm»

<head>
<title>redire(ts</title>

</head>
<bodp

<p I'd "Zeilenausgabe"> </p>

 

52hr eehrte Dame" und Nerre 'Sehr eehrte Dame" und NerrEn' []
'Sehr gee rm Dame" und Nerren' 'Sehr gee rm 5(h&#64258;ler und 5(h&#64258;lerinnen' [1;

var 1' = OH
stringUZeI'le Tgt.split(']'):

var Ausgabetut .

var=:

for (k2 . i++) I
string tut="zeile[i]":
w

var "(uninde'Ho-
var x "tut.immf(')[l
var y "(unimm&#64258;'&#64258;z

   

var z ="tut.indmf(')[3]:

     

var 5n) = "str.5ub5tring(w . x )-
var Strz "str.5ub5tr1'ng( . z)
if(5(r]. aqua] (snzS/n

Ausgabetut m
} }
dominant.getElmemny1d("zeilenausgabe").innerNTML = Ausgabetut:
</$(r1'p[>
4m)»

</html>

Kopiere deinen Code als Text her rein, wenn man dir helfen soll.

Was mir ins Auge springt:
code:
1:
2:
var i = 0;
for (i<2, i++)

Die Syntax ist falsch, so geht es:
code:
1:
for (var i = 0; i < 2; i++)

allgemein: for (Initialisierung; Abbruchbedingung; Wertänderung)
Auf diesen Beitrag antworten »
bloody beginner

Danke schon mal für den Tipp mit dem for Befehl! Hab das jetzt mal ausgebessertsmile
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
<!DOCTYPE html>

<html>

<head>
	<title>redirects</title>

</head>

<body>

<p id="Zeilenausgabe"> </p>

<script>
var Text=" 'Sehr geehrte Damen und Herren' 'Sehr geehrte Damen und Herren' []
	   'Sehr geehrte Damen und Herren' 'Sehr geehrte Schüler und Schülerinnen' [];

var Zeile = Text.split(']');
var Ausgabetext = "";
var ' ="'"

for (var i= 0; i < 2; i++) {
string text="Zeile[0+i]";
var w ="str.indexOf(' , str.indexOf(')+0);
var x ="str.indexOf(' , str.indexOf(')+1);
var y ="str.indexOf(' , str.indexOf(')+2);
var z ="str.indexOf(' , str.indexOf(')+3);

var str1 = "str.substring(w , x );
var str2 = "str.substring(y , z );
	if(str1.equal(str2)){
		Ausgabetext+= i+1 + "<br>";
	}
}
document.getElementById("Zeilenausgabe").innerHTML = Ausgabetext;
</script>
</body>

</html>


Hier ist noch der Quellcode
Auf diesen Beitrag antworten »
bloody beginner

kleiner Nachtrag noch,

code:
1:
2:
3:
4:
5:
6:
var w ="str.indexOf(')[0];
var x ="str.indexOf(')[1];
var y ="str.indexOf(')[2];
var z ="str.indexOf(')[3];


die Variablen sollen so aussehen.
 
Auf diesen Beitrag antworten »
eulerscheZahl

Da das nicht wie eine Hausaufgabe aussieht, will ich mal nicht so sein.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var Text=" 'Sehr geehrte Damen und Herren' 'Sehr geehrte Damen und Herren' []\n" + 
	   "'Sehr geehrte Damen und Herren' 'Sehr geehrte Schüler und Schülerinnen' []";

var Zeile = Text.split(']');
var Ausgabetext = "";

for (var i= 0; i < Zeile.length - 1; i++) {
	var parts = Zeile[i].split('\'');
	var urls = [];
	for (let p in parts) {
		if (parts[p].trim().length > 0) urls.push(parts[p]);
	}
	if (urls[0] == urls[1]){
		Ausgabetext+= i+1 + "<br>";
	}
}
Auf diesen Beitrag antworten »
bloody beginner

Danke, hat mir echt weiter geholfen!

Nur eine Frage hätte ich noch,

code:
1:
2:
3:
4:
for (let p in parts) {
		if (parts[p].trim().length > 0) urls.push(parts[p]);


wofür genau steht die Bedingung "let p in parts" , bzw. was macht die?
Auf diesen Beitrag antworten »
eulerscheZahl

Das ist scheinbar das selbe wie:
for (var p = 0; p < parts.length; p++)

Mit JavaScript kenne ich mich auch nicht wirklich aus. Habe eben mal kurz gesucht: was ich eigentlich wollte war: parts.forEach
Auf diesen Beitrag antworten »
bloody beginner

Okay, dann weiß ich glaube ich bescheid, danke!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »