Seite 1 von 2
die Erkennung von Links im Intranet
Verfasst: 23.02.2005 12:15
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?

ICh hoffe dabei kann mir jemand helfen, denn als alter Mann mit Fortran Kenntnissen kommt man da nicht weiter
Vielen lieben Dank für eure Mühen im Voraus!
DirtDevil
Verfasst: 23.02.2005 12:22
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.
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.
Verfasst: 23.02.2005 12:25
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
Verfasst: 23.02.2005 12:34
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
Verfasst: 23.02.2005 12:40
von Loeffel
@Blutgerinsel
Das
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.
Verfasst: 23.02.2005 12:45
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....
Verfasst: 23.02.2005 12:51
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
Verfasst: 23.02.2005 12:52
von Loeffel
Stimmt, habe mal wieder eine Sache übersehen

Verfasst: 23.02.2005 13:02
von dirtdevil
hmm...welche sache haste denn übersehen??

Verfasst: 23.02.2005 13:35
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.