Probleme mit split

flipo84

Mitglied
Hallo alle zusammen und vielen Dank für eure Hilfe hat jetzt mit dem letzten Lösungsansatz funktioniert nun habe ich noch ein JavaScript Problem mit der Funktion split aber das passt ja hier nich hin oder kann mir jemand dabei helfe?

Wie kann man nach zwei verschieden Sachen spliten er muss aber sehen welches er nehmen muss.

Lese mittels PHP HTTP_REFERRER die Herkunft aus wie z.B.


http://www.bad-hersfeld-friedhof.de nun split ich nach dem 2 - und dann bekommen ich
bad-hersfeld und friedhof als ausgabe wie gewünscht.

Hab aber jetzt einige sonderfälle wie z.B

http://www.friedhof-bad-hersfeld.de

und dem nach würde er ja friedhof-bad und hersfeld als Ausgabe liefern und ich müssste aber hier auch friedhof und bad-hersfeld haben. hier mal mein JavaScript Funtkion:
Code:
 	_website = website.replace("http://", "");
	_website = _website.replace("/", "");
		
	/*Typ ist die Patrone*/
	 if (!website) return;
	 
	 /* Aufsplittung nach Punkten, im Array sind dann im ersten Feld www, im zweiten der Name, im dritten de*/
	 var domain_name = _website.split(".");

	 /* Aufsplittung nach Bindestrichen*/
	 var sections = domain_name[domain_name.length-2].split("-");
	 
	 var city = "";
	 for (i = 0; i < (sections.length-1); i++)
		 city += sections[i] + "-";
	 city = city.substr (0, city.length-1);
	 /*alert ("Stadt: " + city + " Geschäftsfeld: " + sections[sections.length-1]); return;*/
	 
	ahref = 'ajax.php?city='+city+'&biz='+sections[sections.length-1];


Vielleicht hat ja jemand eine Idee......
 
Hallo,

na wenn dir alle Sonderfälle bekannt sind, dann mit replace vorher durchgehen.

Gruss
 
Sorry, war gerade weg.....


Mein Problem ist die Umsetzung der einzelnen abfragen dann, kannst du mir das vielleicht anhand meines Beispiels erklären. Weiß nämlich nicht genau was du meinst.
 
Naja...Javascript ist keine eierlegende Wollmilchsau, welche erraten kann, was du willst.
Javascript hat keine eingebaute Datenbank, welche Städtenamen kennt, also musst du es deinem Skript sagen, wonach du suchst.

Du müsstest also zumindest einen Teil der URL bereits vorher wissen, entweder "friedhof" oder "bad hersfeld" , bzw. einen Array mit Städtenamen oder Branchen haben.

Die Frage ist aber, wie du das wissen kannst, denn auf HTTP_REFERRER hast du keinen Einfluss ....da kann alles mögliche kommen.
 
Hallo,

also wenn dir keiner bis Morgen geantwortet hat gebe ich dir mal ein Beispiel. Bin nämlich gerade ziemlich mit einem Umzug beschäftigt. Aber beantworte bitte vorher meine Frage, sind dir alle Sonderfälle bekannt?

Gruss
 
Hallo,
hier mal ein Lösungsansatz, habe es nicht getestet, weil wenig Zeit- aber sollte gehen.

Code:
	function in_array(item,arr) {
             for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
             return false;
         }
	 var case_arr  =  new Array();
	 
         case_arr["friedhof-bad-hersfeld"] = "bad-hersfeld-friedhof";
	 case_arr["friedhof-kassel"] = "kassel-friedhof";
	 
	 for (url_str in case_arr){
	     if(in_array(url_str, domain_name)){
	       domain_name.splice(1, 1, case_arr[url_str]);
	    }
	 }
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück