Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken » Entwicklung und Konzeption sozialer Software

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 27.01.2005, 16:33
B2B-Community-Betreiber
 
Registriert seit: 11.2002
Ort: Bayern
Beiträge: 65

Wiki Links-Technik


Hallo,

wie nennt man diese Technik bei Wikis, bei der Wörter automatisch in Links umgewandelt werden, wenn ein anderes Dokument zu diesem Wort existiert?

Gibt es CMS, die das einsetzen - oder wie könnte man diese Technik in ein CMS einbauen (als CMS-Programmierer)?
  #2  
Alt 02.02.2005, 16:08
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 811
Mit REGEXP vielleicht?
So zum Beispiel:
$string = preg_replace("/\[\[(.*)\]\]/iU", "<a href=\"datei.php?wort=\\1\">\\1</a>", $string);

  #3  
Alt 17.02.2005, 11:06
B2B-Community-Betreiber
 
Registriert seit: 11.2002
Ort: Bayern
Beiträge: 65
Hallo,

mir geht's zunächst nur um den Namen dieser Funktionalität. Wie wird das im Wikipedia genannt?

  #4  
Alt 17.02.2005, 11:22
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Zuerst einmal einen sämtliche Dokumentennamen auslesen und einfach str_replace aus KEYWORD ein <a href="domain.tld/KEYWORD">KEYWORD</a> machen. Noch hübscher ist es mit REGEX, aber da bin ich leider kein Experte drin.

  #5  
Alt 17.02.2005, 11:55
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
Wenn man die Methode von Reimer noch ein wenig verbessern will, dann sollte man str_ireplace() nehmen, gibt es aber leider erst ab PHP5, in PHP dann entweder per REGEXP.

PHP-Code:
   $words = array('lexikon''wiki''balck|white''Michael Jackson (Person)');
   
// Sonderzeichen in Wörtern ersetzen. Nur nötig, wenn auch wörtern mit
   // REGEXP-Steuerzeichen vorkommen können
   
foreach($words as $key => $val)
   {
       
$words[$key] = preg_quote($val'/');
   }
   
   
$str preg_replace('/' implode('|'$words) . '/i''<a href="datei.php?wort=\\0">\\0</a>'$str); 

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #6  
Alt 18.02.2005, 13:19
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Ob diese Technik einen bestimmten Namen weiss ich nicht. Nur die Seitennamen die automatisch verknüpft werden, also mehrere Wörter in Großbuchstaben zusammengeschrieben, nennen sich CamelCase.

Mit regulären Ausdrücken ist sowas recht einfach zu erkennen:

PHP-Code:
$text preg_replace('/(?<=\s|^)(([A-Z][a-z]+){2,})/''<a href="wiki.php?page=\1">\1</a>'$text); 
Allerdings benutzt die Wikipedia keine CamelCase Links wie das in traditionellen Wikis der Fall ist.

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gutes php Wiki Daniel Richter Blog, CMS, Wiki und Sonstige 21 13.12.2009 12:56
XHTML 1.1 und Links Jan Stöver Programmierung und Datenbanken 24 24.03.2005 17:38
So schöne Links Gast Programmierung und Datenbanken 6 05.02.2005 07:44
interne links benennen ... solanum Web Design und Grafik 3 04.06.2004 16:19






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