Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Web Design und Grafik (https://boardunity.de/web-design-grafik-f29.html)
-   -   interne links benennen ... (https://boardunity.de/interne-links-benennen-t1958.html)

solanum 03.06.2004 20:55

interne links benennen ...
 
hallo,

ich möchte in einem vb 2 links in beiträgen zu anderen beiträgen im board benennen. bedeutet: statt der adresse soll dann der titel des verknüpften themas angegeben werden. hat da evtl. jemand einen ansatz für mich, wie ich vorgehen könnte?

Daniel Richter 04.06.2004 14:07

Soll das automatisch gehen, wie beim neuen wBB 2.2, oder manuell?
Denn manuell würde es ja so gehen: [ url=http://www.spiegel.de]SPIEGEL[/url]

solanum 04.06.2004 15:08

automatisch :)

exe 04.06.2004 15:19

Ein praktisches Beispiel kann ich dir nicht geben da ich mit dem Code des vB2 nicht vertraut bin.

Ein theoretischer Ansatzpunkt: du müsstest mit einem regulären Ausdruck alle Verweise innerhalb des Beitrags zu anderen Themen auslesen und die Nummern der Themen extrahieren.
Die sammelst du dann in einem Array, führst damit eine Datenbankabfrage auf die Thementitel durch und gibst entsprechend die Titel in den Beitrag zurück.

PHP-Code:

$beitrag "Halli hallo http://www.board.de/vb/showthread.php?id=123";

preg_match_all('/http:\/\/www\.board\.de\/vb\/showthread\.php\?id=(\d+)/'$beitrag$treffer); 

Wenn der Ausdruck funktioniert (hab ihn nicht getestet) hast du in $treffer[0] alle Treffer im Beitrag und in $treffer[1] alle Themenids.
Danach gehts mit der Abfrage weiter:

PHP-Code:

$result mysql_query('SELECT title, id FROM topics WHERE id IN('.join(', '$treffer[1]).')'); 

Dann musst du nur noch das Ergebnis auswerten und im Beitrag entsprechend die URL zu den Themen durch entsprechende Links bzw. BB-Codes (z.B. so einen wie Daniel geschrieben hat) ersetzen.
Das Ganze solltest du natürlich beim Speichern eines Beitrags machen da du sonst in der Themenanzeige für jeden Beitrag eine extra Abfrage brauchst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25