Hallo,
Ich habe in meinem Forum ein Script dass mir zu bestimmten Begriffen eine Erklärung als Tooltip anzeigt, jetzt ist es so wenn das Wort Teil eines anderen Wortes ist, wird die Erklärung auch angezeigt, oder wenn das Wort in (url)(/url) steht dann wird der Teil bis zum dem Begriff als Link angezeigt und der Rest nicht mehr, ich hätte das gern so dass es bei Begriffen die in Beschreibungen von Links enthalten sind es keine Erklärung gibt.
Hier könnt Ihr euch das mal anschauen ->
Klick
Und hier der Code der das ganze acht.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function acronym_pass($message)
{
static $orig, $repl;
if( !isset($orig) )
{
global $db, $board_config;
$orig = $repl = array();
$sql = 'SELECT * FROM ' . ACRONYMS_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain acronyms data", "", __LINE__, __FILE__, $sql);
}
$acronyms = $db->sql_fetchrowset($result);
if( count($acronyms) )
{
usort( $acronyms, 'acronym_sort' );
}
for ($i = 0; $i < count($acronyms); $i++)
{
$orig[] = '#\b(' . phpbb_preg_quote( $acronyms[$i]['acronym'], "/") . ')\b# i';
$descrip =$acronyms[$i]["description"];
$acrony = htmlentities($acronyms[$i]["acronym"], ENT_QUOTES);
$repl[] = "<a class=acro href=\"lexikon.php?suchwort=". $acrony ."&suchen=1\" onmouseover=\"return overlib('". $descrip ."', STICKY, CAPTION, '". $acrony ."');\" onmouseout=\"return nd();\">" . $acrony . "</a>";
}
}
if( count( $orig ) )
{
$segments = preg_split( '#(<a class=acro href=\"lexikon.php?suchwort=.+?>.+?</a>|<.+?>)#si' , $message, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
$message = '';
foreach( $segments as $seg )
{
if( $seg[0] != '<' && $seg[0] != '[' )
{
$message .= str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#eis', "preg_replace(\$orig, \$repl, '\\0')", '>' . $seg . '<'), 1, -1));
}
else
{
$message .= $seg;
}
}
}
return $message;
}
Tom