Begriffe automatisch verlinken

Pamax schein ein paar Sprachen zu vermischen. Probier mal Folgendes:
PHP:
$terms = explode(' ', $title);
foreach($term as $ti) {
	$search = '/'.preg_quote($ti).'/ie';
	$replace = '"<a href=\"/".rawurlencode("\0")."\">\0</a>"';
	$content = preg_replace($search , $replace, $content);
}
Ich will dich allerdings immer noch darauf hinweisen, dass diese Vorgehensweise ineffektiv und ineffizient ist.
 
Am besten nimmst du da ähnlich wie bei Mediawiki direkt den Begriff selbst. So musst du nicht erst die dazugehörige ID herausfinden.
 
Eine Frage habe ich doch noch.

Der Begriff "ActiveX" kommt nun auch in der Beschreibung für den Begriff "ActiveX" vor.

Wie kann ich ein Verlinken des Begriffs "ActiveX" in der Beschreibung für den Begriff "ActiveX" unterdrücken?

Er soll den Begriff "ActiveX" nicht mehr verlinken, wenn die Seite für den Begriff "ActiveX" aufgerufen wird.

Ist ja völlig wirr was ich hier schreibe. Ich hoffe das versteht jemmand von euch *gg*
 
Du lässt den Code den du benutzt um Begriffe als Link zu markieren in der Beschreibungsseite einfach weg?
 
Neeee, das geht ja nicht, weil nur da die Verlinkung statt findet.

Wie kann ich den nun den Begriff der aufgerufenen Seite da rausfiltern. Man ist das alles kompliziert. Ohne Hilfe würde bei mir gar nichts laufen :confused:
 
Zeig etwas Code. Zum Beispiel den Code der Beschreibungsseite und wie diese aufgerufen wird. Also alles was wichtig sein könnte um dein Problem zu lösen.

Da ich (und alle anderen) nicht wissen können wie dein Script aussieht. Schön wäre das aber :)
 
Also die Beschreibung lese ich mit einer ganz normalen Abfrage $abfrage bla bla where id='$id' aus.

Dann kommt -

Code:
$abfrage = "SELECT title, id FROM lexikon_begriffe";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$terms = explode(' ', $row->title);
foreach($terms as $ti) {
$search = '/'.preg_quote($ti).'/ie';
//$replace = '"<a href=\"/".view."-".$row-id.".html\">$ti</a>"';
$replace = '"<strong>$ti</strong>"';
$description = preg_replace($search , $replace, $description);
}  
}
 
Zuletzt bearbeitet:
Wie kann ich den nun den Begriff der aufgerufenen Seite da rausfiltern. Man ist das alles kompliziert. Ohne Hilfe würde bei mir gar nichts laufen :confused:
Dieses Problem und andere hättest du nicht, wenn du die Stichwörter ganz einfach manuell markierst.
Denn du müsstest ja nicht nur bei jedem neuen Artikel sämtliche bisherigen Stichwörter in dem neuen Artikel markieren sondern ebenfalls auch alle in den bisherigen Artikel vorkommenden neue Stichwörter.

Das heißt, wenn du bisher n Artikel mit insgesamt m Stichwörtern hast und x neue hinzukommen, müssten so alle bisherigen n Artikel nach den neuen x Stichwörtern durchsuchen sowie den neuen Artikel nach den bisherigen m Stichwörtern durchsuchen. Das allein ergibt einen Aufwand von n·x + m Suchen-Ersetzen-Operationen (die Datenbankzugriffe noch nicht einmal einbezogen!).
 
Zurück