Hallo,
hab es irgendwie nicht hinbekommen für ein Suchwort mehrere Links anzugeben.
Habe folgendes ausprobiert:
im Block block-vkp_News_Related.php habe ich alles von
// Relationen aus Tabelle
bis $content .= $related;
gelöscht und ersetzt durch:
// Relationen aus Array
include("includes/mxRelatedArray.php");
$relatedarray = array_change_key_case($relatedarray);
$search = join('|', array_keys($relatedarray));
$search = '#(?:[^[:alnum:]])(' . $search . ')(?:[^[:alnum:]])#i';
if (preg_match_all($search , strip_tags($GLOBALS['story_blocks']["completetext"]), $matches)) {
$matches = array_change_key_case(array_flip(array_unique($matches[1])), CASE_LOWER);
foreach ($matches as $key => $dummy) {
foreach($relatedarray[$key] as $title => $url)
{
$content .='- <a href="'.$url.'" target="_blank">'.$title.'...</a><br>';
}
}
}
Das Array $relatedarray in includes/mxRelatedArray.php habe ich nun in folgender Fom:
$relatedarray = array (
"Suchwort_1" => array(
"Linkname_1" => "http://www.link1...",
"Linkname_2"=>"http://www.link2...",
),
"Suchwort_2" => array(
"Linkname_3" => "http://www.link3...",
"Linkname_4"=>"http://www.link5...",
),
//und so weiter...
);
Das funktioniert so ganz prima, trotzdem mal die Frage ob ich zu doof war das Array wie vorgesehen anzupassen (die Findefunktion zu benutzen ;) ), oder sind mehrere Links pro Suchwort einfach nicht vorgesehen?
mfg
Änderungen: auch den title durchsuchen, keine doppelten Links, target _blank nur bei externen Links (webfan.de ersetzen !!!):
// Relationen aus Array
include("includes/mxRelatedArray.php");
$relatedarray = array_change_key_case($relatedarray);
$search = join('|', array_keys($relatedarray));
$search = '#(?:[^[:alnum:]])(' . $search . ')(?:[^[:alnum:]])#i';
if (preg_match_all($search , strip_tags($GLOBALS['story_blocks']["completetext"]), $matches)
|| preg_match_all($search , strip_tags($GLOBALS['story_blocks']["title"]), $matches) ) {
$matches = array_change_key_case(array_flip(array_unique($matches[1])), CASE_LOWER);
foreach ($matches as $key => $dummy) {
foreach($relatedarray[$key] as $title => $url)
{
if(!eregi($url, $content))
{
if(eregi('webfan.de',$url) ){
$content .='- <a href="'.$url.'">'.$title.'...</a><br>';
}
else{
$content .='- <a href="'.$url.'" target="_blank">'.$title.'...</a><br>';
}
}
}
}
}