die Erkennung von Links im Intranet

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.
dirtdevil
Mitglied
Beiträge: 7
Registriert: 31.01.2005 17:29

die Erkennung von Links im Intranet

Beitrag von dirtdevil »

Servus zusammen,

das Problem habe ich hier schon öfters im Forum gefunden, nur leider keine Lösung dafür. Ich habe das Forum in einem Intranet laufen. Alle links die ins Internet verlinken erkennt er einwandfrei.

Kann mir jemand sagen, wie ich diese Abfragen modifizieren oder ergänzen muss, damit er links ins Intranet nach folgendem Aufbau:
\\yxz.com\filestore\...etc.
auch erkennt??

Im Prinzip weiss ich auch wo ich suchen muss, nämlich in der bbcode.php. Dort gibt einige schöne Einträge wie folgender:

// xxxx://www.phpbb.com code..
$patterns[] = "#\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];

Ich denke ich muss da noch eine neue Möglichkeit hinzufügen, nur wie sieht diese aus? :o ICh hoffe dabei kann mir jemand helfen, denn als alter Mann mit Fortran Kenntnissen kommt man da nicht weiter :roll:

Vielen lieben Dank für eure Mühen im Voraus!

DirtDevil
Loeffel
Mitglied
Beiträge: 97
Registriert: 09.12.2004 15:06
Wohnort: Overath

Beitrag von Loeffel »

Versuche es mal mit

$patterns[] = "#\[url\](\\\\){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(\\[^ \"\n\r\t<]*)?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];

darunter. Aber ohne Gewehr. :wink:

P.S.: Ich hasse Regex! Man kann zwar soviel damit machen, aber ich habe es immer noch nicht genug benutzt und muß immer wieder nachschlagen.
Yours
Loeffel
Murphy: Professionals are predictable, but beware the world is full of amateurs.
dirtdevil
Mitglied
Beiträge: 7
Registriert: 31.01.2005 17:29

Beitrag von dirtdevil »

Vielen lieben Dank :)
werde ich gleich einmal probieren, ich hatte die Tage schon einmal ein wenig herumprobiert aber das hat leider nicht geklappt *lach
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Vermutlich wird dieser RegExp im vorherigen Posting nicht gehen......

Sollte dies der Fall sein versuch mal diesen hier:

Code: Alles auswählen

#\[url\](([a-z0-9]+?://)|(\\)){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is
Loeffel
Mitglied
Beiträge: 97
Registriert: 09.12.2004 15:06
Wohnort: Overath

Beitrag von Loeffel »

@Blutgerinsel

Das

Code: Alles auswählen

[a-z0-9]+?:
braucht er nicht, da er direkt auf, ich nehme mal an, Windows shares verweist. Er hat also eigentlich gar keinen Weblink mehr. Zumindest ist sein Beispiel so.
Yours
Loeffel
Murphy: Professionals are predictable, but beware the world is full of amateurs.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Meine Logik sagt mir nachdem hier:
das Problem habe ich hier schon öfters im Forum gefunden, nur leider keine Lösung dafür. Ich habe das Forum in einem Intranet laufen. Alle links die ins Internet verlinken erkennt er einwandfrei.

[....]diese Abfragen modifizieren oder ergänzen muss, damit er links ins Intranet nach folgendem Aufbau auch erkennt??
Das Interneturls als auch Windows Shares bzw. Netbeui Freigaben geparst werden sollen......
Das einzige was hier nicht berrücksichtigt wird sind unsichtbare Freigaben die nur mit \\bla\$blubb
angesprochen werden und nicht gelistet werden....
dirtdevil
Mitglied
Beiträge: 7
Registriert: 31.01.2005 17:29

Beitrag von dirtdevil »

Vielen Dank nochmal für die schnelle Anwort. Zur Zeit habe ich folgendes nun neu eingefügt:


$bbcode_tpl['url5'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
$bbcode_tpl['url5'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url5']);

// matches a [url]xxxx://www.phpbb.com[/url] code..
$patterns[] = "#\[url\](([a-z0-9]+?://)|(\\)){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url5'];


als Fehlermeldung kommt nun leider immer folgendes:

Warning: preg_replace() [function.preg-replace]: Compilation failed: missing ) at offset 91 in C:\xampp\htdocs\phpbb2\includes\bbcode.php on line 236


hmm...habe alle Klammern überprüft..aber nix gefunden *grübl
Loeffel
Mitglied
Beiträge: 97
Registriert: 09.12.2004 15:06
Wohnort: Overath

Beitrag von Loeffel »

Stimmt, habe mal wieder eine Sache übersehen :oops:
Yours
Loeffel
Murphy: Professionals are predictable, but beware the world is full of amateurs.
dirtdevil
Mitglied
Beiträge: 7
Registriert: 31.01.2005 17:29

Beitrag von dirtdevil »

hmm...welche sache haste denn übersehen?? :o
Loeffel
Mitglied
Beiträge: 97
Registriert: 09.12.2004 15:06
Wohnort: Overath

Beitrag von Loeffel »

Ich meinte Blutgerinsel.

ÄÄhm, bist Du Dir sicher nicht irgendetwas überschrieben zu haben oder noch etwas anderes eingefügt zu haben? Deine Zeilen sind korrekt.
Yours
Loeffel
Murphy: Professionals are predictable, but beware the world is full of amateurs.
Antworten

Zurück zu „Coding & Technik“