WebLink umändern

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

WebLink umändern

Beitrag von FSKiller / Phoenix »

Hoi ich brauche mal geschwindt Hilfe

Code: Alles auswählen

if ($website != "")
	{
		if (!preg_match('#^http[s]?:\/\/#i', $website))
		{
			$website = 'http://' . $website;
		}

		if (!preg_match('#^http[s]?\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $website))
		{
			$website = '';
		}
	}
das der Code aus phpBB Forum ;) der soll aber so umgeändert werden das man kein www. eintragen brauch und das nicht http://www. $website stehen soll sondern hlsw:// $serverip

kann mir einer vielleicht helfen, die http sachen habe ich geändert nur das funtktioniert nicht so richtig :) thx
Kein Support per PN/Mail, wer sucht der findet!
Cojote
Mitglied
Beiträge: 40
Registriert: 14.10.2004 14:44

Beitrag von Cojote »

Glaube ich habe es nicht richtig verstanden.

Deshalb eine kurze Frage:
wenn man nicht mehr www. eingibt was diehnt denn dann als Anhaltspunkt einen Link zu erkennen?
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Ich habs so verstanden wenn irgendeiner
mal 40.77.30.89 eingibt dann soll aus der IP in ein HLSW Adresse umgewandelt werden....

das würde ich dann ungefähr so machen:
(grob)

Code: Alles auswählen

preg_replace('!([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})!s','hlsw://\1',$website);
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

Cojote hat geschrieben:Glaube ich habe es nicht richtig verstanden.

Deshalb eine kurze Frage:
wenn man nicht mehr www. eingibt was diehnt denn dann als Anhaltspunkt einen Link zu erkennen?
dann lies nochmal ;) es geht um kein Weblink sondern hlsw link ....

HLSW ist ein Programm wo man Server-IPs eingibt die dann fr bestimmte Spiele-Server sind

@Blutgerinsel werde ich mal testen danke
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

geht leider noch immer nicht, habe ich vielleicht vergessen Gameserver werden immer mit Port noch angegeben sprich 127.0.0.1:27015 ;) vielleicht geht es deswegen noch nicht. Steige ehrlich gesagt nicht durch den Code der da steht, vielleicht kann mir einer ne Seite sagen dann tu ich mich da mal rein friemeln :D, aber ich denke mir es so das

[0-9]{1,3}\. <--- erste Zahlenblock mit 0 bis 9 Zahlen also 1,2,3,.,.,.,. ist klar und jeweils 1 bis 3 stellen angegeben sein könnten, ist das soweit richtig? nur das mit dem Ende peil ich nicht.

thx aber schonmal für die Idee :)
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

FSKiller hat geschrieben:geht leider noch immer nicht, habe ich vielleicht vergessen Gameserver werden immer mit Port noch angegeben sprich 127.0.0.1:27015 ;) vielleicht geht es deswegen noch nicht. Steige ehrlich gesagt nicht durch den Code der da steht, vielleicht kann mir einer ne Seite sagen dann tu ich mich da mal rein friemeln :D, aber ich denke mir es so das

[0-9]{1,3}\. <--- erste Zahlenblock mit 0 bis 9 Zahlen also 1,2,3,.,.,.,. ist klar und jeweils 1 bis 3 stellen angegeben sein könnten, ist das soweit richtig? nur das mit dem Ende peil ich nicht.

thx aber schonmal für die Idee :)
hmm das hab ich vergessen normal ist der Port 5 stellig also:

Code: Alles auswählen

preg_replace('!([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{5})!s','hlsw://\1',$website);
Dir ist klar das dies grob ist, d.h. es werden nur die Stellenanzahl, Trennung und Muster geprüft.
Angaben wie

192.168.5.0 eine Class C Netzadresse oder
192.168.5.255 Class C Broadcast Adresse mit der Standard SN-Maske sind erlaubt obwohl so nie ein Host heissen kann.

Also eine reine Musterprüfung.....

Seiten hmm da gibt ein schönes PHP Manual da steht das englisch drinnen.....
[ ] ist eine Zeichenklasse und in diesem Fall auf Zahlen von 0-9 begrenzt....Da der . für ein beliebiges Zeichen steht muss dieser escaped werden mit einem Backslash.. { } bedeutet {min,max} oder {muss}

() Erstellt einen Unterausdruck welcher dann über eine Backreferenze die durchnummeriert wird und im gleichen Ausdruck wieder verwendet werden kann.....
Antworten

Zurück zu „Coding & Technik“