MyBB.de Forum

Normale Version: [Gelöst] "Übersicht" und "RSS To Post v1.1.0"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo ins Forum,

"gefesselt" von dem Thema "RSS-Feeds" habe ich folgende Frage:

bei Einsatz des Plugins "RSS To Post v1.1.0" werden in der "Übersicht v3.0.4" bei RSS-Feeds von "http://www.pcwelt.de/rss/newsfeed.xml" HTML-Entities angezeigt bzw. wird der "Doppelpunkt" nicht umgewandelt => s. Grafik
[attachment=2380]
Andere RSS-Feeds, z. B. von "http://www.tagesschau.de/newsticker.rdf", sind in der Übersicht fehlerfrei.

In der Forumsübersicht und in der Beitragsansicht werden durch Code-Anpassungen in der Datei "rss2post.php" der "Betreff" und der "Text" richtig dargestellt:
PHP-Code:
...
            
// See if title exists in posting forum
            
$subject html_entity_decode($item_data['title']);
            
// $subject_sql = $db->escape_string($subject); // <= Änderung hier
            
$subject_sql $db->escape_string(utf8_encode($subject)); // <= Änderung hier
            
$query $db->simple_select(TABLE_PREFIX."threads""tid""subject='{$subject_sql}' AND fid='{$forum}'");
...
                
// Set the thread data
                
$new_thread = array(
                    
"fid" => $forum,
                
//    "subject" => $subject, // <= Änderung hier
                    
"subject" => utf8_encode($subject), // <= Änderung hier
                    
"icon" => -1,
                    
"uid" => $uid,
                    
"username" => $user['username'],
                
//    "message" => $message,  // <= Änderung hier
                    
"message" => utf8_encode($message), // <= Änderung hier
                    
"ipaddress" => '127.0.0.1',
                    
"posthash" => '',
                    
"savedraft" => 0,
                );
... 

Die Codierung meines Forums ist Standard (UTF-8) => s. Signatur. Die Übersicht ist mit "htmlspecialchars" eingestellt.

- Liegt es an der Quelle der News: "http://www.pcwelt.de/rss/newsfeed.xml" oder am Dateityp ".xml"?
- "Beißen" sich evtl. die zwei Plugins. Oder was muss/kann wo geändert werden?

BTW: beim Schreiben dieses Beitrags stell(t)e ich fest, dass der Code aus der 1. Grafik ebenfalls einwandfrei in einen Doppelpunkt umgewandelt wird.

Ich bitte um Hilfe und danke für die Antwort(en)...
linwinman schrieb:BTW: beim Schreiben dieses Beitrags stell(t)e ich fest, dass der Code aus der 1. Grafik ebenfalls einwandfrei in einen Doppelpunkt umgewandelt wird.
Ist der Fehler jetzt da oder nicht?
Zum Zitat: sorry, da habe ich mich nicht klar ausgedrückt. Shy
Ich meinte damit, dass hier (bei MyBBoard.de) die HTML-Entity aus der Grafik in Beitrag #1 als "Doppelpunkt" dargestellt wird. Deshalb kann ich sie hier auch nicht als Code wiedergeben (vgl. mit Anhang).
Code:
:

Zur Frage: Ja, der Fehler tritt in der "Übersicht" auf.
Hast du einen Link?
Hallo Dragon,

darf ich dir den Link per PN senden?
Damit habe ich kein Problem. Wink
Eigentlich sollte das funktionieren. Versuche das mal:
Ersetze in der Plugin-Datei vom RSS-Plugin:
PHP-Code:
            $subject html_entity_decode($item_data['title']);
            
$subject_sql $db->escape_string($subject);
            
$query $db->simple_select(TABLE_PREFIX."threads""tid""subject='{$subject_sql}' AND fid='{$forum}'");
            if(
$db->num_rows($query) == 0)
            {
                
// Add thread to forum (code based on MyBB 1.2.1 newthread.php)
                // Set up posthandler.
                
require_once MYBB_ROOT."inc/datahandlers/post.php";
                
$posthandler = new PostDataHandler("insert");
                
$posthandler->action "thread";


                
$message html_entity_decode($item_data['description']); 
durch:
PHP-Code:
            $subject html_entity_decode(utf8_encode($item_data['title']));
            
$subject_sql $db->escape_string($subject);
            
$query $db->simple_select(TABLE_PREFIX."threads""tid""subject='{$subject_sql}' AND fid='{$forum}'");
            if(
$db->num_rows($query) == 0)
            {
                
// Add thread to forum (code based on MyBB 1.2.1 newthread.php)
                // Set up posthandler.
                
require_once MYBB_ROOT."inc/datahandlers/post.php";
                
$posthandler = new PostDataHandler("insert");
                
$posthandler->action "thread";


                
$message html_entity_decode(utf8_encode($item_data['description'])); 
Und mache deine Änderungen rückgänig.
Warnung: Die Veränderung macht sich erst in neuen Themen bemerkbar. Die alten werden dadurch nicht verändert.
Vielen Dank, Dragon.

Die Änderung habe ich in der Orig.-Plugin-Datei "rss2post.php" durchgeführt.

Es ist fast alles ok, bis auf die "Erscheinung", dass im Beitrag die 'Anführungszeichen' als 'Fragezeichen' dargestellt werden und in der Übersicht nach wie vor die HTML-Entity statt 'Doppelpunkt' angezeigt wird - eIn Beispiel häng' ich noch 'mal dran.

Was ist hierfür die Ursache?

[Edit] - Die News wurden nach der Änderung neu geladen.
Komisch, utf8_encode() sollte die Fragezeichen verhindern und html_entity_decode() sollte die Entitäten in richtige Buchstaben umwandeln.
Ich hab' mir noch 'mal die Original-News von "PC-WELT.de" angesehen.

Hierin werden 'typographische Anführungszeichen' verwendet und dargestellt. Dass diese (evtl.) nicht UTF-8-konform sind,
kann ich noch verstehen - und ggf. damit leben.

Bliebe "nur" noch die Umwandlung von 'Entität' zu 'Doppelpunkt' in der Übersicht (s. auch Grafik). Sad

[attachment=2396]
Seiten: 1 2 3