• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Feeds per js abholen

Hallo, Danke für die Hilfe. Manches verstehe ich daran, anderes nicht. Also " im onreadystate des requestobjektes" sagte mir nicht so recht was. Das Requestobjekt ist der feed nehme ich an. aber "das onreadystate"? Zu onreadystate habe ich das gefunden AJAX The XMLHttpRequest onreadystatechange Event, aber damit weiß ich nicht, wo ich im feedaufruf dann das equal aufrufe und mit welchen Parametern?

Zu timedrefresh: Ist es denn so ein Unterschied, ob ich die ganze Seite noch mal neu laden lasse nach 5 Minuten oder am Ende der Feedaufruf-Schleife, zumal ja dann noch diejenigen feeds neu geladen werden müssen, die ich per php abrufe.

Ach und was ich auch nicht verstehe, ist, dass selbst, wenn alle feeds da sind und ich durch ein- oder zweimalibes Resize die equalheight-Funktion ausführe und alle "articles" die richtige Größe haben, warum dann nicht auch die tooltips funktionieren, also die html-titles mit tooltips versehen werden.

Gruß und Dank
glupto

P.S. Habe jetzt die tooltipster-Funktion unmittelbar vor die Ausgabe der feeds eingebaut, was aber auch nicht den gewünschten Effekt hatte.

Code:
<?php

// Die Hauptfunktion

function verarbeiteFeed($urlfeed, $maxim) {

   /* $maxim = 10;*/
    $link  = false;
    $lesen = false;
    $start = 0;
    $zaehl = 0;
    define("SCHLIESSE", ">");                // Für valides HTML je nach Dokumenttyp-Deklaration bei HTML ">" oder bei XHTML " />"

    if ((@$data = file_get_contents($urlfeed)) == false) 
    {
    echo $urlfeed;
    echo " ist nicht erreichbar. Bitte versuchen Sie, mit F5 zu aktualisieren!";
    }
    
    else {

        $pxml = simplexml_load_string(wandleTags($data), "SimpleXMLElement", LIBXML_NOCDATA);

        if ($pxml->channel->item) $lesen = $pxml->channel->item;
        if ($pxml->entry)         $lesen = $pxml->entry;
        if ($pxml->item)         $lesen = $pxml->item;


if (strlen($lesen[0]->title) > 0 or strlen($lesen[1]->title) > 0) {

    foreach ($lesen as $nachricht) {
   

        if ($nachricht->title != false) {                  /*-- Auswählen, ob Link für RSS $nachricht->link oder Atom $nachricht->link->attributes() --------*/

                if ($nachricht->link) {

                    if ((string)$nachricht->link) {
                        $link = $nachricht->link;
                    }
                    elseif ($nachricht->link->attributes()) {
                        $attr = $nachricht->link->attributes();
                        $link = $attr["href"];
                    }
                }

                /*-- Titel mit Link ------------------------------------------------------------------------------*/
$title = ($nachricht->title);
                    if (($nachricht->title) && ($title!="") && ($title != NULL)){

                    if (($nachricht->summary) != false) {
/*
$summ = ($nachricht->summary);
$summ = str_replace("<br/>", " ", $summ);
$summ = trim($summ);*/





?>  
<script type="text/javascript">
        $(document).ready(function() {
            $('.tooltip').tooltipster({
   contentAsHTML: true,
   autoclose: true,
   animation: 'grow',
   delay: 400,
   theme: 'tooltipster-default',
   touchDevices: true,
   trigger: 'click',
   interactive: true,
   timer: '15'
});
 $(window).keypress(function() {
      $('#example').tooltipster('hide');
   });
});

</script>
                    <li class="tooltip" title="
                    <?php echo htmlspecialchars(filtereHTML($nachricht->summary), ENT_QUOTES); ?>     
                    <a href=' 
                    <?php echo htmlspecialchars ($link, ENT_QUOTES); ?>
                    ' target='_blank'>...mehr</a>" >
                    <?php echo htmlspecialchars (filtereHTML($nachricht->title), ENT_QUOTES); ?> 
                    </li>
<?php







/*





                    echo "<li><a href=\"".htmlspecialchars($link, ENT_QUOTES)."\" target=\"_blank\" class=\"ketchup tooltip\" title=\"".htmlspecialchars(filtereHTML($nachricht->summary), ENT_QUOTES)."\">".
                    htmlspecialchars(filtereHTML($nachricht->title), ENT_QUOTES)."</a></li>\n";
    */           
    }



                    if (($nachricht->description) != false) {

$desc = ($nachricht->description);
$desc = str_replace(" ", "", $desc);
$desc = str_replace("<br/>", " ", $desc);
$desc = preg_replace("#\s{2,}#", "", $desc); 
$desc = trim($desc);
$trenn = "Mehr zum Thema";
$desc = explode($trenn, $desc);
$desc = $desc[0];
$trenn1 = ">mehr<";
$desc = explode($trenn1, $desc);
$desc = $desc[0];
$trenn2 = "<li>Video";
$desc = explode($trenn2, $desc);
$desc = $desc[0];
$trenn3 = "<li>Bilderserie";
$desc = explode($trenn3, $desc);
$desc = $desc[0];



 ?>  
 
 <script type="text/javascript">
        $(document).ready(function() {
            $('.tooltip').tooltipster({
   contentAsHTML: true,
   autoclose: true,
   animation: 'grow',
   delay: 400,
   theme: 'tooltipster-default',
   touchDevices: true,
   trigger: 'click',
   interactive: true,
   timer: '15'
});
 $(window).keypress(function() {
      $('#example').tooltipster('hide');
   });
});
      
      </script>
                    <li class="tooltip" title="
                    <?php echo htmlspecialchars (filtereHTML($desc), ENT_QUOTES); ?>     
                    <a href=' 
                    <?php echo htmlspecialchars ($link, ENT_QUOTES); ?>
                    ' target='_blank'>...mehr</a>" >
                    <?php echo htmlspecialchars (filtereHTML($nachricht->title), ENT_QUOTES); ?> 
                    </li>
<?php
                }
                    if ((($nachricht->content) != false) && (($nachricht->description) != true) && (($nachricht->summary) != true))
{

$cont = ($nachricht->content);
$cont = trim($cont);



?>  
<script type="text/javascript">
        $(document).ready(function() {
            $('.tooltip').tooltipster({
   contentAsHTML: true,
   autoclose: true,
   animation: 'grow',
   delay: 400,
   theme: 'tooltipster-default',
   touchDevices: true,
   trigger: 'click',
   interactive: true,
   timer: '15'
});
 $(window).keypress(function() {
      $('#example').tooltipster('hide');
   });
});

</script>

                    <li class="tooltip" title="
                    <?php echo htmlspecialchars(filtereHTML($cont), ENT_QUOTES); ?>     
                    <a href=' 
                    <?php echo htmlspecialchars ($link, ENT_QUOTES); ?>
                    ' target='_blank'>...mehr</a>" >
                    <?php echo htmlspecialchars (filtereHTML($nachricht->title), ENT_QUOTES); ?> 
                    </li>
<?php




/*

                    echo "<li><a href=\"".htmlspecialchars($link, ENT_QUOTES)."\" target=\"_blank\" class=\"ketchup tooltip\" title=\"".htmlspecialchars(filtereHTML($cont), ENT_QUOTES)."\">".
                    htmlspecialchars(filtereHTML($nachricht->title), ENT_QUOTES)."</a></li>\n";
                    
                    */
                }
}

                                     $start++;
                if ($start == $maxim) {break;
                }
            }
        }
    } else { echo "<br".SCHLIESSE."Feed konnte nicht geladen werden!\n";
    $laderr = 1;
    return $laderr;
    }
}
}
// Die Nebenfunktionen

function wandleTags($daten) {

    $daten = str_replace("content:encoded", "content", $daten);
    $daten = preg_replace_callback("/(&[#a-z0-9]+;)/",

        function($enti) {

            return htmlspecialchars(mb_convert_encoding($enti[1], "UTF-8", "HTML-ENTITIES"));
        }, $daten);

    if (strpos($daten, "><item>") !== false) {

        $eing  = array(

            "><item>"        => ">\r\n<item>",
            "><title>"       => ">\r\n<title>",
            "><link>"        => ">\r\n<link>",
            "><description>" => ">\r\n<description>",
            "><content>"     => ">\r\n<content>",
            "><summary>>"    => ">\r\n<summary>>",
            "><enclosure>"   => ">\r\n<enclosure>",
            "><pubDate>"     => ">\r\n<pubDate>",
            "><updated>"     => ">\r\n<updated>",
            "><published>"   => ">\r\n<published",
            "><author>"      => ">\r\n<author>",
            "><creator>"     => ">\r\n<creator>"
        );
        $daten = strtr($daten, $eing);
    }
    return $daten;
}
function filtereHTML($daten) {

    $daten = preg_replace("/<.+?>/is", "", $daten);
   
    return $daten;
}
function filtereLinks($daten) {

   if (($pos = strpos($daten, "#")) !== false) {
        $daten = substr($daten, 0, $pos);
    } 
 
    $daten = preg_replace("/[^a-z0-9_\/=.:;&!?-]/is", "", $daten);
    return $daten;
}  
?>
 
Zuletzt bearbeitet:
Hat noch jemand eine Idee, warum z. B. meine tooltips (tooltipster) nicht da sind, wenn ich die Funktion doch nicht mehr am Ende des Seitenaufbaus sondern kurz vor der echo-Ausgabe der Feeds aufrufe, also wenn sie doch schon da sein müssten (s.o.)?
 
Zurück
Oben