Letzte Beiträge auf separater Homepage

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
andy3000
Mitglied
Beiträge: 95
Registriert: 22.03.2007 14:45
Wohnort: Weilheim an der Teck
Kontaktdaten:

Beitrag von andy3000 »

Aber selbst wenn ich die Datei umcodiere und die Codierung im Browser umstelle, werden trotzdem nicht alle Umlaute richtig angezeigt. :o
Und wenn ich im Browser "Automatische Auswahl" einstelle, auch nicht.

Außerdem verwenden manche Seiten iso-8859-1 (zumidest in meta-tags), machen nix mit ä ... und die Umlaute werden richtig angezeigt.
Wie soll man das verstehen?
Ich bin jetzt irgendwie durcheinander gekommen.
Mein Forum: Klick
Benutzeravatar
Kendoo
Mitglied
Beiträge: 125
Registriert: 29.09.2007 03:44

Beitrag von Kendoo »

Hast Du denn die Datei last_topics.php auch utf-8 codiert gespeichert?


und dann hab ich auch noch etwas vergessen und zwar gibt es in der last_topics einen Funktionsaufruf um zu lange Topictitel zu kürzen, dafür fehlt Dir aber höchstwahrscheinlich noch die zugehörige Funktion, die Du in irgendeine Datei, die global includiert wird in Deine Seiten einfügen kannst

Code: Alles auswählen

function utf8_substr($str,$from,$len){
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);
}
:D Take it Easy
Benutzeravatar
andy3000
Mitglied
Beiträge: 95
Registriert: 22.03.2007 14:45
Wohnort: Weilheim an der Teck
Kontaktdaten:

Beitrag von andy3000 »

Ja habe ich.
Leider kein befriedigendes Ergebnis.
Mein Forum: Klick
Benutzeravatar
Kendoo
Mitglied
Beiträge: 125
Registriert: 29.09.2007 03:44

Beitrag von Kendoo »

also auf jeden Fall werden die Daten jetzt korrekt ausgewertet, die Umlaute stehen ja im title Tag korrekt drin, also funktioniert das Ganze schon mal soweit

jetzt fehlt die oben genannte Funktion, Du kannst diese auch direkt in der last_topic ganz oben einfügen, denn es ist jetzt nur noch ein Problem mit der Kürzung des Topictitels festzustellen
Benutzeravatar
andy3000
Mitglied
Beiträge: 95
Registriert: 22.03.2007 14:45
Wohnort: Weilheim an der Teck
Kontaktdaten:

Beitrag von andy3000 »

Ja, aber nur, wenn man im Browser die Codierung eingestellt hat.
Wenn ich auf "Automatisch einstellen" klicke, werden sie wieder falsch angezeigt. D.h. die user müssen bei mir immer umschalten, wenn sie die Umlaute richtig angezeigt bekommen wollen, oder?
Mein Forum: Klick
Benutzeravatar
Kendoo
Mitglied
Beiträge: 125
Registriert: 29.09.2007 03:44

Beitrag von Kendoo »

also bei mir nicht, dort wird die Codierung korrekt automatisch im Browser eingestellt, siehe hier:
http://kfa-teampage.pytalhost.com/image ... g/914.jpeg

was wie gesagt immernoch fehlt ist die Funktion zum kürzen der Strings aber das hast Du sicher noch nicht eingefügt
Benutzeravatar
andy3000
Mitglied
Beiträge: 95
Registriert: 22.03.2007 14:45
Wohnort: Weilheim an der Teck
Kontaktdaten:

Beitrag von andy3000 »

Hmm, eigentlich habe ich den Code eingefügt, gleich nach <?php
Mein Forum: Klick
Benutzeravatar
Kendoo
Mitglied
Beiträge: 125
Registriert: 29.09.2007 03:44

Beitrag von Kendoo »

also dann wüßte ich auch nicht mehr, dann kannst Du nur mal kurz den von Dir verwendeten last_topic Code hier posten und ich gucke mal ob ich was finde, denn mein Original Code funktioniert ja auf meiner Seite einwandfrei und der einzigste Unterschied war halt die utf-8 Gescichte, die Du aber nun gelöst hast
Benutzeravatar
andy3000
Mitglied
Beiträge: 95
Registriert: 22.03.2007 14:45
Wohnort: Weilheim an der Teck
Kontaktdaten:

Beitrag von andy3000 »

OK, hier ist der Code. Ich habe ihn noch ein bisschen angepasst und das weggelassen, was ich nicht brauche. Vielleicht habe ich was falsches gelöscht, Du kennst dich da besser aus. :wink:

Code: Alles auswählen

<div style="padding:0px;background-color:transparent;"> 
<?php 
function utf8_substr($str,$from,$len){ 
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str); 
}
function xml2ary(&$string) { 
$parser = xml_parser_create(); 
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); 
xml_parse_into_struct($parser, $string, $vals, $index); 
xml_parser_free($parser); 
$mnary = array(); 
$ary = &$mnary; 
foreach ($vals as $r) { 
$t = $r['tag']; 
if($r['type'] == 'open') { 
if(isset($ary[$t])) { 
if(isset($ary[$t][0])) $ary[$t][] = array(); 
else $ary[$t] = array($ary[$t], array()); 
$cv = &$ary[$t][count($ary[$t])-1]; 
} 
else $cv = &$ary[$t]; 
if(isset($r['attributes'])) { 
foreach ($r['attributes'] as $k => $v) $cv['_a'][$k] = $v; 
} 
$cv['_c'] = array(); 
$cv['_c']['_p'] = &$ary; 
$ary = &$cv['_c']; 
} 
elseif($r['type'] == 'complete') { 
if(isset($ary[$t])) { 
if(isset($ary[$t][0])) $ary[$t][] = array(); 
else $ary[$t] = array($ary[$t], array()); 
$cv = &$ary[$t][count($ary[$t])-1]; 
} 
else $cv = &$ary[$t]; 
if(isset($r['attributes'])) { 
foreach ($r['attributes'] as $k => $v) $cv['_a'][$k] = $v; 
} 
$cv['_v'] = (isset($r['value']) ? $r['value'] : ''); 
} 
elseif($r['type'] == 'close') { 
$ary = &$ary['_p']; 
} 
} 
_del_p($mnary); 
return $mnary; 
} 

function _del_p(&$ary) { 
foreach ($ary as $k => $v) { 
if($k === '_p') unset($ary[$k]); 
elseif(is_array($ary[$k])) _del_p($ary[$k]); 
} 
} 

$xml=xml2ary(file_get_contents('../forum.xml')); 

if(!$xml) { 
echo "Keine Daten verfügbar"; 
} 
else { 
for($i=0;$i<5;$i++){ 
$typ = $xml['ResultSet']['_c']['topic'][$i]['_c']['typ']['_v']; 
$subject = $xml['ResultSet']['_c']['topic'][$i]['_c']['subject']['_v']; 
$zeit = $xml['ResultSet']['_c']['topic'][$i]['_c']['zeit']['_v']; 
$starter = $xml['ResultSet']['_c']['topic'][$i]['_c']['starter']['_v']; 
$poster = $xml['ResultSet']['_c']['topic'][$i]['_c']['poster']['_v']; 
$colour = $xml['ResultSet']['_c']['topic'][$i]['_c']['colour']['_v']; 
$p_id = $xml['ResultSet']['_c']['topic'][$i]['_c']['p_id']['_v']; 
$t_id = $xml['ResultSet']['_c']['topic'][$i]['_c']['t_id']['_v']; 
$f_id = $xml['ResultSet']['_c']['topic'][$i]['_c']['f_id']['_v']; 
$views = $xml['ResultSet']['_c']['topic'][$i]['_c']['views']['_v']; 
$replies = $xml['ResultSet']['_c']['topic'][$i]['_c']['replies']['_v']; 

switch ($typ){ 
case 3: $icon = "announce_unread.gif"; $title = "Announcement"; break; 
case 2: $icon = "announce_unread.gif"; $title = "Global Announcement"; break; 
case 1: $icon = "sticky_unread.gif"; $title = "Sticky"; break; 
default: $icon = "topic_unread.gif"; $title = "Topic"; 
}

echo "<h3><a href=\"../forum/viewtopic.php?f=".$f_id."&t=".$t_id."&p=".$p_id."#p".$p_id."\" title=\"".$subject."\" onclick=\"window.open(this.href); return false;\">".((strlen($subject)>40)?substr($subject,0 , 40)."...":$subject)."</a></h3>\n\n"; 
} 
} 

?> 
</div>
Mein Forum: Klick
Benutzeravatar
Kendoo
Mitglied
Beiträge: 125
Registriert: 29.09.2007 03:44

Beitrag von Kendoo »

Code: Alles auswählen

echo "<h3><a href=\"../forum/viewtopic.php?f=".$f_id."&t=".$t_id."&p=".$p_id."#p".$p_id."\" title=\"".$subject."\" onclick=\"window.open(this.href); return false;\">".((strlen($subject)>40)?utf8_substr($subject,0 , 40)."...":$subject)."</a></h3>\n\n"; 

der Fehler ist, Du hast im Code etwas verändert,
statt substr muss es utf8_substr heißen, was aber bei mir im Original auch so war :wink:

das liegt daran, dass man utf-8 codierte Zeichen nicht einfach irgendwo kürzen kann
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“