• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Text splitten (aber kompliziert da immer variabel)

A

AF2k

Guest
Hallo,
Ich versuche hier eine zeile zu splitten nur ich kriege es nicht hin.
und zwar das: sub.sub.sub.domain.de

das ist für nen Webredirector
der soll den eingegebenen $HTTP_HOST auslesen.
nur das problem ist, das NIE die subdomains immer die gleichen sind
es könnte ja sub.domain.de sein oder sub.sub.domain.de
das ist nen kleines problem
das einzigste was gleich bleibt ist .de
aber das soll mit mehreren sein, also das der ODER zur verfügung hat: de || com || net || org || co.jp

das soll dann so sein:

$sub = "sub.sub.sub";
$domain = "domain";
$end = "de";

das ich das dann eben nachher so zusammen setzen kann: print "$sub.$domain.$end";
das problem ist, das es so sein MUSS ich muss das so zersplitten :(
kann mir wer helfen? sitze da seit heute morgen dran.

euer sven
 
hiho auch!
meine antwort wird dich jetzt bestimmt nicht zufreidenstellen,aber egal.
weil weiß ja nicht in welcher sprache du den spaß machen willst.
(nachtrag:
oh, bei näherem betrachten deines threads scheints php zu sein...
das mag ich ja eh nicht :D)

aber rein logisch würd ichs doch so machen.

end = teil vor dem 1.punkt (von hinten)
domain = teil vom 1.punkt(von hinten) bis zum 2. punkt (von hinten)
sub = teil nach dem 2.punkt (von hinten)

jaja, muß man sich "nur" noch die befehle zusammenspasteln
was in der tat sehr nervig sein kann (mag auch keine text-zerfetzung programmieren)
mfg, riddler
 
Hi,

also ein Ansatz wäre z.B. den String mit
$name=explode(".",$HTTP_HOST);

zu zerlegen. Dann hast du ein Array mit z.B. $name[0] = www, $name[1]= subdomain $name[2]= domain $name[3]=TopLevelDomain.

dann mußt du nur noch irgendwie das Problem mit den zweiteiligen TLDs in den Griff bekommen (z.B. co.jp, co.uk usw.)

CU
MichiS
 
jap @problem

Ja das ist ein prob
nur dann was ist mit den mehreren subdomains?
wenn z.b. sub.sub.sub.sub.sub.domain.de ist oder
sub.domain.de
das ist ja nciht vorgegeben das ist ja für kunden und da ist das variabel was die wollen
also manche gibt es die machen ja willkomen.bei.der.beste.domain.im.web.von.michael.de oder sowas
und da wird das mit name[0] und so doch ein prob

sven
 
Idee

Ich hatte schon die Idee das mit einem or zu machen dann wöäre es ja einfach nur ich weis absolut nicht wie ich das umsetzen muss, da ich vorher noch NIE gesplittet habe
les schon die ganze zeit auf http://www.php.net/manual/de/function.split.php und so, aber hilft net.
ich wolte es irgendwie so machen (weis das das KOMPLETT falsch ist!!!):

list ($sub,$domain,$dot,$tld) = split('*+.+[de|com|net|org|co.jp]', $HTTP_HOST);

dann hätte ichs ja
nur ich weis das das komplett falsch ist und weis nicht wie ich es umsetzen soll

sven
 
Zuletzt bearbeitet:
Habs raus

ich habs raus getüftelt, die Manual bringt doch was :)

$array = split("\.", $HTTP_HOST);
$tld = array_pop($array);
$domain = array_pop($array);
if(ereg("(co|ne|or)",$domain))
{
$tld = $domain . "." . $tld;
$domain = array_pop($array);
}
$sub = join(".",$array);

*hehe*

cya,
af2k
 
un in CGI??

Wie kann man sowas in CGI machen. also mit open(file "file.cgi"); mach ich sieh auf un mit close(file) wieder zu. Mit print(file) schreib ich was rein aber wie sag ich dem script das er z.b. er bekommt als parameter *.cgi?font=verdana&size=1 wie bringt man dem script bei das er das in der file.cgi als
$font = "verdana";
$size = "1";
reinschreib????????
 
CGI?
uhm teste mal:

echo "<FONT SIZE=\"$size\" FACE=\"$font\">Der text</FONT>\n";

oder meinst du mit einer if funktion, das wenn nichts angegeben ist, das ne standard vorgabe verwendet wird?
 
opps

Ähm, da hab ich woll was falsch verstanden als ich den thread gelsen habe. Ich wollte wissen wie man dateien so in eine file reinschreiben wenn man mir method post arbeitet. Sorry
 
Zurück
Oben