kostenloser Webspace werbefrei: lima-city


Sonderzeichen werden nicht richtig angezeigt

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hi !

    Auf meiner Seite:

    http://davidlohmann.de/test/service.php

    habe ich einige RSS-Feeds, wo die Sonderzeichen nicht richtig angezeigt werden.

    Hier meine Scripte:

    <?php
    $inhalt="http://www.tvmovie.de/rss/tvjetzt.xml";
    $website="http://www.tvmovie.de";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) {
    preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = $regs[1][0];
    $pubdate = $regs2[1][0];
    echo '<br><span style="font-family:Arial;font-size:12px"><font color="#FF9900"><b>'.$pubdate.'&nbsp;</b></font><b><font color="#000080">&nbsp;</font><font color="#FF9900"><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></font></b></span>'; 
    }
    }
    ?>


    <?php
    $inhalt="http://www.tvmovie.de/rss/tv2015.xml";
    $website="http://www.tvmovie.de";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) {
    preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = $regs[1][0];
    $pubdate = $regs2[1][0];
    echo '<br><span style="font-family:Arial;font-size:12px"><font color="#FF9900"><b>'.$pubdate.'&nbsp;</b></font><b><font color="#000080">&nbsp;</font><font color="#FF9900"><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></font></b></span>'; 
    }
    }
    ?>


    <?php
    $inhalt="http://www.tvmovie.de/rss/tv2200.xml";
    $website="http://www.tvmovie.de";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) {
    preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = $regs[1][0];
    $pubdate = $regs2[1][0];
    echo '<br><font color="#FF9900"><span style="font-family:Arial;font-size:12px"><b>'.$pubdate.'&nbsp;&nbsp;<a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></b></span></font>'; 
    }
    }
    ?>


    <?php
    $inhalt="http://rss.focus.de/fol/XML/rss_folnews_finanzen.xml";
    $website="http://rss.focus.de";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) { preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = $regs[1][0];
    $pubdate = $regs2[1][0];
    echo '<br><span style="font-family:Arial;font-size:12px"><font color="#FF9900"><b>'.$pubdate.'&nbsp;</b></font><b><font color="#000080">&nbsp;</font><font color="#FF9900"><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></font></b></span>'; 
    }
    }
    ?>


    <?php
    $inhalt="http://www.spielfilm.de/rss/filmstarts.xml";
    $website="http://www.spielfilm.de";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) {
    preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<14; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<pubDate>(.*)</pubDate>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = $regs[1][0];
    $pubdate = $regs2[1][0];
    echo '<br><span style="font-family:Arial;font-size:12px"><font color="#FF9900"><b>'.$pubdate.'&nbsp;</b></font><b><font color="#000080">&nbsp;</font><font color="#FF9900"><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></font></b></span>'; 
    }
    }
    ?>


    Könnt Ihr mir helfen, das zu beheben?

    Gruß David !
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Lass alle Texte vor der Ausgabe hier durchlaufen:

    function umlaute($var){
       $umlaute = array("ä" => "ä", "Ä" => "Ä", "ü" => "ü", "Ãœ" => "Ü", "ö" => "ö",
     "Ö" => "Ö", "ß" => "ß");
    $var = strtr($var, $trans);
    return $var;
    }
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    nilswerner schrieb:
    Lass alle Texte vor der Ausgabe hier durchlaufen:

    function umlaute($var){
       $umlaute = array("ä" => "ä", "Ä" => "Ä", "ü" => "ü", "Ãœ" => "Ü", "ö" => "ö",
     "Ö" => "Ö", "ß" => "ß");
    $var = strtr($var, $trans);
    return $var;
    }



    Wie mache ich das?
  5. Hi,

    mach doch einfach die Umwandlung so:
    // ...
    $title = utf8_decode($regs[1][0]);
    $pubdate = utf8_decode($regs2[1][0]);
    // ...


    Außerdem kannst du dir das preg_match_all in der if Bedingung sparen, wenn 0 zurück gegeben wurden, wenn du folgenden regex verwendest:
    preg_match_all("|<item(?:.*)?>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);

    Die if Bedingung samt Inhalt ist also nicht nötig ;-)

    Grüßle

    Beitrag zuletzt geändert: 20.1.2009 8:25:14 von scout
  6. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.


    scout schrieb:
    Hi,

    mach doch einfach die Umwandlung so:
    // ...
    $title = utf8_decode($regs[1][0]);
    $pubdate = utf8_decode($regs2[1][0]);
    // ...


    Außerdem kannst du dir das preg_match_all in der if Bedingung sparen, wenn 0 zurück gegeben wurden, wenn du folgenden regex verwendest:
    preg_match_all("|<item(?:.*)?>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);

    Die if Bedingung samt Inhalt ist also nicht nötig ;-)

    Grüßle



    Danke ! Das hat geklappt !


    Beitrag zuletzt geändert: 20.1.2009 18:16:08 von davy
  7. Also wegen deinem &ndash; ... sorry aber ich kann das nirgends finden... ich denk mal wird sich erledigt haben :o)
    Grüßle
  8. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    scout schrieb:
    Also wegen deinem &ndash; ... sorry aber ich kann das nirgends finden... ich denk mal wird sich erledigt haben :o)
    Grüßle


    Nein, hat sich leider noch nicht erledigt

    Hier mal ein Screenshot: http://www.bilderhoster.net/img.php?id=m19z13sm.jpg

    Wie behebe ich diesen Fehler?
  9. Also ich kann dir einfach empfehlen im Kopf einfach encoding="utf8" anzugeben und die umlaute könnten dann einfach mit &auml; und so weiter angezeigt werdne oder du gibt im Kopf encoding="ISO-8859-1" und nimmst dann einfach wie immer ä,ö,ü,...
  10. davy schrieb:
    scout schrieb:
    Also wegen deinem &ndash; ... sorry aber ich kann das nirgends finden... ich denk mal wird sich erledigt haben :o)
    Grüßle


    Nein, hat sich leider noch nicht erledigt

    Hier mal ein Screenshot: http://www.bilderhoster.net/img.php?id=m19z13sm.jpg

    Wie behebe ich diesen Fehler?

    Das sollte wohl mal ein bindestrich werden ^^

    Einfach mit der search und replace funktion aus dem &ndash; ein - machen
  11. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Das Problem ist, dass es ein RSS FEED ist, und ich keinerlei Einfluß auf die Nachrichten habe.

    Wie kann ich trotzdem ein Bindestrich anzeigen?
  12. davy schrieb:
    Nein, hat sich leider noch nicht erledigt
    Hier mal ein Screenshot: http://www.bilderhoster.net/img.php?id=m19z13sm.jpg
    Wie behebe ich diesen Fehler?


    // ab PHP 5.1.0
    $title = htmlspecialchars_decode(utf8_decode($regs[1][0])); 
    
    // ab PHP 4
    $title = html_entity_decode(utf8_decode($regs[1][0]));


    Grüßle

    Beitrag zuletzt geändert: 22.1.2009 13:35:45 von scout
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!