[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Gloosar: Begriffe verlinken oder nicht
Seite 1 von 1

Gloosar: Begriffe verlinken oder nicht

Verfasst: 26. Okt 2006, 22:32
von sawro
hi zusammen,

ich habe das glossar bzw. die function_replace.inc.php verändert, dass die begriffe so ausgegeben werden:

Code: Alles auswählen

<a href="wörterbuchseite#sprungziel"><acronym>begriff</acronym></a>
die begriffe verlinken auf die seite, die das gesamte glossar als "wörterbuch" enthält. hier werden jeweils der begriff, die beschreibung und ein zurück-link mit sprungziel ausgegeben. man kann also - so man interessiert ist, irgendwo auf ein verlinktes acronym klicken, sich die beschreibung durchlesen und über den zurücklink zum ausgangspunkt zurückkehren. das funktioniert auch so - die sache hat nur einen haken:

in der "wörterbuch"-seite werden die begriffe genau gleich ausgegeben und verlinken obendrein auf sich selbst (link mit sprungziel) - eben genau so, wie es die function_include...php vorschreibt. ich hätte es hier aber lieber ohne link und als überschrift, z.b. so:

Code: Alles auswählen

<h1>begriff</h1>
<p>beschreibung<br/>
<a>zurück</a>
</p>
nach viel suchen und lesen bin ich jetzt so weit:

Code: Alles auswählen

<?php
 $sql = new sql;
 $sql->debugsql = true;
 $result = $sql->get_array('SELECT * FROM rex_13_glossar, rex_13_glossar_lang WHERE language = lang_id ORDER BY CHAR_LENGTH(shortcut) DESC');

for ( $i = 0; $i < $sql ->getRows(); $i++) {

 $shortcut = $sql ->getValue("shortcut", $i);
 $desc = $sql ->getValue("description", $i);

  if ($shortcut){
 $shortcut = preg_replace("~<a.*>~isU", "", $shortcut);
 $shortcut = preg_replace("~</a.*>~isU", "", $shortcut);

 echo '<div>'.$shortcut.', '.$desc.'<br/>';
 }
  echo '</div>';
  $sql ->next();
}
?>
was hier jedoch gar nichts bewirkt :?

ist das überhaupt die richtige herangehensweise?
oder geht das vielleicht auch noch anders?
wie kann ich bewirken, dass sich auf dieser einen seite die funktion_replace.inc.php nicht auswirkt?

im voraus schon mal vielen dank für die schützenhilfe

lg
sabine

Verfasst: 27. Okt 2006, 07:54
von zehbaeh
>wie kann ich bewirken, dass sich auf dieser einen seite die >funktion_replace.inc.php nicht auswirkt?

Du könntest zb. im Artikel mit den Erläuterungen einen Kommentar setzen
<!-- GLOSSAR -->

und die Funktion "rex_glossar_replace" nach $string = $params['subject'];

um folgendes Erweitern:

Code: Alles auswählen

$glossar = '<!-- GLOSSAR -->';
if(strpos($string,$glossar)!==FALSE) 
  return str_replace($glossar,'',$string);

dankeschön

Verfasst: 27. Okt 2006, 10:53
von sawro
hi zehbaeh,

hab vielen dank für deine schnelle hilfe.
das hat auf anhieb funktioniert. :D

schönes wochenende
sabine