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.
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: