php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (1) Themen-Optionen Bewertung: Bewertung: 13 Stimmen, 5,00 durchschnittlich.
  #31 (permalink)  
Alt 09-06-2013, 23:48
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.604
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Wie wäre es, wenn du dich erstmal mit den Syntax-Grundlagen beschäftigst? Es macht ja wenig Sinn, wenn du ohne Plan einfach nur herumprobierst.

PHP: Strings - Manual
Mit Zitat antworten
  #32 (permalink)  
Alt 09-06-2013, 23:49
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard Wimmelbild

so, habs doch noch hingekriegt:
PHP-Code:
echo "<li><a href=\"".htmlspecialchars($attr["href"])."\" target=\"_blank\" title =\"".htmlspecialchars($nachricht->summary)."\">".htmlspecialchars($nachricht->title)."</li></a>"
Thanx for all
Mit Zitat antworten
  #33 (permalink)  
Alt 10-06-2013, 00:02
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.604
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Dein HTML ist aber noch immer kaputt. Du öffnest den <a>-Tag nach <li>, aber schließt ihn nach </li>.

Falsch:
HTML-Code:
<li><a></li></a>
Richtig:
HTML-Code:
<li><a></a></li>
Mit Zitat antworten
  #34 (permalink)  
Alt 10-06-2013, 00:54
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von newbie1955 Beitrag anzeigen
nächster Versuch, klappt auch nicht:

PHP-Code:
 foreach ($pxml->entry as $nachricht) {

            if (
$nachricht->title){ $attr $nachricht->link->attributes();
                echo 
"<li><a href=\"".htmlspecialchars($attr["href"])."\" target=\"_blank\" title = \""htmlspecialchars($nachricht->summary)"\".">".htmlspecialchars($nachricht->title)."</li></a>"; 
Hast Du etwas Alkohol getrunken oder irgendetwas inhaliert?
Ich meine, Du versuchst da seit einem halben Jahr zu programmieren und weißt noch nicht, wie man einen einfachen String schreibt?
Wenn Du nüchtern wärst, so müsstest Du das eigentlich allein sehen.

PHP-Code:
echo "<li><a href=\"".$richtig."\" target=\"_richtig\" title =\"".$falsch"\".">".$richtig."</li></a>"; 
Warum ich nun $falsch falsch eingefügt, weil $falsch nicht wie $richtig mit Punkten und " verknüpft ist.

Bin insoweit fertig geworden, der Focus ladet nun etwas schneller, etwa in der halben Zeit, die restlichen alle in unter einer Sekunde, wobei wenn Bilder in description gefunden werden, keine mehr aus content oder summary geladen werden, so wie es sein sollte. Nur der Focus trödelt halt immer noch, weil ja noch rund 50 Bildchen von diesem Social-Media-Zeug übrig bleiben oder man müsste eine Ausnahme machen, um die auf false zu setzen.
Mit Zitat antworten
  #35 (permalink)  
Alt 10-06-2013, 13:58
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard Nana,

trinken beim Programmieren - niemals , inhalieren immer (Sauerstoff).

Also mal zur Erklärung: Ich bin kein Programmierer (mehr - habe vor 30 Jahren mal beruflich mit COBOL zu tun gehabt, das wars aber auch) - ich habe mir HTML, CSS und PHP Stück für Stück angeeignet, weil ich bestimmte Seiten erstellen wollte. Habe mich immer wieder mit Grundlagen beschäftigt und tue es weiter, Galileo-Computing Grundlagen-DVDs studiert (Und bin dabei z. B. nie auf etwas wie "htmlspecialchars" gestoßen). Egal welches Manual ich mir anschaue, keines schien mir für jemanden gemacht zu sein, der z. B. noch wenig oder gar keine Kenntnisse in PHP hat (Allein dieses blöde haystack-needle-Gedöns, bis ich raushatte, was das sollte, bin ich alt und grau geworden - von einem Manual würde ich erwarten, dass es sich auch sprachlich an Nicht-Experten richtet) Und: nicht zu vergessen: Ich habe einen Beruf, dem ich fulltime nachkommen muss. Ich kann kein ebensolches fulltime HTML-CSS-PHP-Studium einschieben (möglichst auch noch mit javascript), damit ich bloß keine dummen Fragen mehr stellen muss und nicht auch mal Simples übersehe, wie zum Beispiel: Wann muss ich Anführungsstriche maskieren, welcher Teil von verknüpften echo Ausgaben (HTML+STRING+HTMLusw.) muss in Anführungsstrichen stehen und in welchen Quotes dann (einfach, doppelt).

Ich bin wirklich ausgesprochen dankbar für Hilfe und bewundere jeden, der PHP aus dem FF versteht, wie die Moderatoren und engagierten Helfer hier. Und ich verstehe es auch voll und ganz, wenn jemand keine Lust hat, einem Begriffsstutzigen was zum x-ten mal zu erklären. Aber wie gesagt, so so wie oben beschrieben, sind nun mal die Bedingungen, unter denen ich mich in Sachen HTML/CSS/PHP "weiterbilden" kann. Ich würde zum Beispiel gerne meine Parsing-Seite in einer Cache-Datei zwischenspeichern, mit Cron-Jobs alles schon vor Seitenaufruf parat haben usw., weiß aber dass meine Kenntnisse dafür null ausreichen, also lasse ich das bis auf Weiteres. Ansonsten nochmal: Danke an alle Antortenden für Hilfe und Geduld.


Zitat:
Warum ich nun $falsch falsch eingefügt, weil $falsch nicht wie $richtig mit Punkten und " verknüpft ist.
Den Satz verstehe ich auch schon wieder nicht.

@Melewo: Und was den Focus angeht, versuche ich es vielleicht lieber per xpath. Ich müsste ja Deinen feedreader eh gewaltig kürzen, damit ich das ganze Image-Gedöns nicht habe, das ich nicht brauche. Da würde ich dann bestimmt was bei kaputt machen.

Gruß
newbie1955

Geändert von newbie1955 (10-06-2013 um 14:01 Uhr)
Mit Zitat antworten
  #36 (permalink)  
Alt 10-06-2013, 15:34
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Dein HTML ist aber noch immer kaputt. Du öffnest den <a>-Tag nach <li>, aber schließt ihn nach </li>.

Falsch:
HTML-Code:
<li><a></li></a>
Richtig:
HTML-Code:
<li><a></a></li>
ja, war ein Kopierfehler, danke für den Hinweis.
Mit Zitat antworten
  #37 (permalink)  
Alt 10-06-2013, 17:13
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Und ich bin jetzt 59 geworden und mein erstes PHP Buch, welches ich gelesen hatte, war eins für Kids, mit einem Hasen auf dem Umschlag. In dem wurden diese einfachen Sachen gut beschrieben, damit auch ein Kind versteht, wie man einen Apache unter Localhost einrichtet und die Seiten aufrufen kann und wofür die Anführungszeichen oder htmlspecialchars gut sind.

Von Tutorials für Einsteiger, da halte ich immer noch die von Schattenbaum für die erste Wahl, denn die sind so verständlich und locker geschrieben, dass auch ein Einsteiger nicht überfordert wird.

PHP für dich - Der echo bzw. print Befehl

Doch die können halt auch nicht den ganzen Umfang bieten, wie zwei bis drei Bücher zum Nachschlagen. Und ich würde immer wieder behaupten, Online-Tutorials sind gut und schön, php.net ist wunderbar, doch ohne Bücher zum Nachschlagen geht es nicht ab. Bei mir sind es ein paar Bücher mehr geworden, doch empfehlen würde ich mindestens ein Buch für Kids zum Einstieg, weil Einstieg nichts mit Alter zu tun hat, danach noch ein bis zwei weitere von A bis Z Bücher, die dann als Nachschlagwerk benutzt werden können.

Bei dem Manual handelt es sich mehr oder weniger um eine Referenz für PHP, unterlegt mit Beispielen. Von einer Referenz erwartet man jedoch ein gewisses Niveau auf fachlichem Gebiet und nicht das sie für Einsteiger ausgelegt wird. Wenn Du das Handbuch mal aufschlägst, so wirst Du da Untergliedrungen wie Sprachreferenz und Funktionsreferenz finden.

PHP: Sprachreferenz - Manual
PHP: Funktionsreferenz - Manual

Eine Referenz kann ebenso wenig ein Ersatz für Literatur für Einsteiger sein, wie es Tutorials sein können, die nicht die Syntax erklären, sondern z.B. nur, warum eine selbstdefinierte Funktion ein beabsichtigtes Ergebnis liefern sollte. Nicht mehr und nicht weniger.

Bei mir ist es eigentlich auch nur ein Hobby, nahm nur etwas zu. In meiner Jugend habe ich dafür Radios gebastelt, war auch interessant. So groß ist der Unterschied nicht. Bei einem hatte man Schaltpläne, beim anderen Scripts.
Mit Zitat antworten
  #38 (permalink)  
Alt 10-06-2013, 17:35
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard Danke

..für die Tipps. Na, dann sind wir ja fast gleich alt (58). Du weißt nicht zufällig wie das Buch für Kinder heißt? Ich halte sehr viel von Büchern, die für Kindern gemacht sind, weil die sich um Einfachheit bemühen, was andere nicht tun. Auch die Galileo-DVDs sind nicht schlecht, gehen aber oft in einem Wahnsinnstempo voran (ich weiß, man kann zurück"spulen") und erklären manche Basics auch nicht, obwohl sie angeblich keine Vorkenntnisse voraussetzen. (Z. B. wird das Maskieren gar nicht erklärt).

"PHP für Dich" wirkt sehr gut, gerade wenn man zwar manchmal kompliziertes macht, aber bei den Basics noch Lücken hat. Ich bin vor einem Dreivierteljahr mit meiner Seite angefangen (die beruflich für mich und meine Kollegen einfach sehr hilfreich ist) und hatte bis dahin eigentlich nur mit Homepagebaukästen herumgespielt. Und dann kommt eben eins zum anderen. Es gibt sicher bessere und gründlichere Arten sich etwas anzueignen, aber mehr gibt die Zeit, die der Schichtdienst übriglässt, nicht her. Du hast einen Verlag, habe ich gesehen.

Danke für die Hilfreichen Hinweise. Wenn ich jetzt Deinen feedreader oder das, was Du mir am Anfang mal gepostet hattest, anpasse, je nachdem, ob summary, description oder content gefüllt sind, klappt es eigentlich. Mal sehen, wie ich mit den Quellen umgehe, deren feed nicht funktioniert oder schlecht gepflegt ist (doppelte Zeilen, mehrfache Inhalte zum selben Thema mit unterschiedlichem Stand usw.)

Gruß
newbie
Mit Zitat antworten
  #39 (permalink)  
Alt 10-06-2013, 18:02
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

"PHP und MySQL für Kids" von Johann-Christian Hanke, ist nunmehr aber auch in die Jahre gekommen. Gibt mehrere Auflagen, auch von anderen Autoren, deren Inhalt ich nicht kenne. Enthalten war da eine Einführung in HTML, in PHP, in MySQL, immer nur das Notwendigste, dann Code für ein Gästebuch mit MySQL oder so.

Die Schattenbaum hat ja auch ein Buch im Angebot:

Taschenbuch: 156 Seiten
PHP für dich: So einfach war PHP-lernen noch nie!

Sollte auch gut für Einsteiger sein. Der Verlag (meiner) ist nur ein Mini-Verlag.
Mit Zitat antworten
  #40 (permalink)  
Alt 10-06-2013, 23:05
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard So,

das Buch aus Deinem Verlag habe ich bestellt. Das mit den Kids überlege ich mir noch mal. Jetzt werde ich mal versuchen, Deine Vorschläge und Dein Script für den focus irgendwie bei mir umzusetzen, ohne alles kaputt zu machen. Der ist ja wirklich ein schwerer Fall. Vor allem verstehe ich nicht, wieso er in meiner Magpie - Parser Variante, die ja für vieles auch reicht und die description als tooltip anzeigt dann plötzlich nur einen Teil der description, aber keinen Title und kein href mehr anzeigt. obwohl die Datei ja "title" "href" und "description" enthält. Und irgendwie schrecke ich davor zurück, Teile aus Deinem neuesten feedreader einfach herauszupicken und das andere (images) wegzulassen.

(Die Süddeutsche scheint auch so ein schwierigerer Fall zu werden
http://rss.sueddeutsche.de/rss/Politik)
Gruß
newbie1955

Geändert von newbie1955 (10-06-2013 um 23:11 Uhr)
Mit Zitat antworten
  #41 (permalink)  
Alt 10-06-2013, 23:43
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Da ist etwas durcheinander geraten.

Zitat:
Zitat von Melewo Beitrag anzeigen
PHP für dich: So einfach war PHP-lernen noch nie!
Selbstverlag von der Autorin über BoD Verlag Norderstedt.

Zitat:
Zitat von Melewo Beitrag anzeigen
Sollte auch gut für Einsteiger sein.
Sollte ist eine Vermutung von mir, weil ich ihre Seiten bisher für gut fand.

Zitat:
Zitat von newbie1955 Beitrag anzeigen
Du hast einen Verlag, habe ich gesehen.
Meine Antwort darauf:

Zitat:
Zitat von Melewo Beitrag anzeigen
Der Verlag (meiner) ist nur ein Mini-Verlag.
Zur Korrektur, ich habe schon über BoD veröffentlicht, doch nur als Autor, nicht als Verlag. Also, mein Verlag ist nur ein Mini-Verlag, der nichts mit dem Buch oder mit BoD Norderstedt zu tun hat.

Habe einige Rezensionen bei Amazon gelesen habe. Wenn es sich so verhalten sollte, wie in der einen Rezension behauptet, dass in dem Buch noch mysql Zugriffe auf die Datenbank beschrieben werden, dann ist das wieder etwas, was ein Einsteiger irritiert, weil dafür neuere Funktionen für den Zugriff über eine neuere Schnittstelle verwendet werden sollten.

Bei "PHP und MySQL für Kids" in Auflage: 6 (28. Januar 2010) scheint es besser auszusehen, da tauscht zumindest im Stichwortregister nur mysqli auf.

Das sind dann halt wieder die Probleme, die ein Einsteiger nicht unbedingt wissen kann und es dann fehlerhaft oder veraltet erlernt.
Mit Zitat antworten
  #42 (permalink)  
Alt 11-06-2013, 00:02
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von newbie1955 Beitrag anzeigen
(Die Süddeutsche scheint auch so ein schwierigerer Fall zu werden
Bei dem ladet der nur die Bilder nicht, die ein ! Ausrufezeichen im Pfad enthalten und das werde ich auch nicht ändern.

HTML-Code:
http://polpix.sueddeutsche.com/polopoly_fs/1.1691683.1370634454!/httpImage/image.jpg_gen/derivatives/135x135/image.jpg
Ansonsten ist der mit 1.36s (onload: 1.54s) akzeptable.
Mit Zitat antworten
  #43 (permalink)  
Alt 11-06-2013, 00:36
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard Okay

Ja, das mit dem Verlag ist ein Versehen. Na, ich probiere erstmal das bestellte Buch aus, mal sehen.

Nein, mit der SZ meinte ich nicht, dass Du da was ändern solltest. Wollte nur sagen, dass das auf konventionelle Art (Dein früheres posting
PHP-Code:
 <?php

$seite 
"http://www.tagesschau.de/xml/atom/";
 
$data file_get_contents($seite);

if(
$data != false) {

     
$pxml simplexml_load_string($data"SimpleXMLElement"LIBXML_NOCDATA);

    
$si =  0;
    
$cw 10;

    
/*-- für RSS --------------------------- */

    
if($pxml->channel->item) {

        foreach (
$pxml->channel->item as $nachricht) {

            if (
$nachricht->title) {
                echo 
"<li><a href=\"".htmlspecialchars($nachricht->link)."\" target=\"_blank\">".htmlspecialchars($nachricht->title)."</a></li>";
            }
            if (
$nachricht->content) {
                echo 
"<br>\n".htmlspecialchars($nachricht->content)."<br>\n";
            } else {
                echo 
"<br>\n".htmlspecialchars($nachricht->description)."<br>\n";
            }
            if (
$nachricht->link) {
                echo 
"<a href=\"".htmlspecialchars($nachricht->link)."\" target=\"_blank\">Linktext</a><br>\n";
            }
            if (
$nachricht->pubDate) {
                echo 
"<br>".htmlspecialchars($nachricht->pubDate);
            }
            if (
$nachricht->author) {
                echo 
" / ".htmlspecialchars($nachricht->author)."<br>";
            } else {echo 
"<br>\n";
            }

            
$si++;
            if (
$si == $cw) {break;
            }
        }
    }
    
/*-- für Atom -------------------------- */
    
else{

        foreach (
$pxml->entry as $nachricht) {

             if (
$nachricht->title){ $attr $nachricht->link->attributes();
                echo 
"<li><a href=\"".htmlspecialchars($attr["href"])."\" target=\"_blank\" title =\"".htmlspecialchars($nachricht->summary)."\">".htmlspecialchars($nachricht->title)."</a></li>";          }
           
/* if ($nachricht->content) {
                echo "<br>\n".htmlspecialchars($nachricht->content)."<br>\n";
            } else {
                echo "<br>\n".htmlspecialchars($nachricht->summary)."<br>\n";
            }
            if ($nachricht->link) {
                $attr = $nachricht->link->attributes();
                echo "<a href=\"".htmlspecialchars($attr["href"])."\" target=\"_blank\"></a><br>\n";
            }
         if ($nachricht->published) {
                $meindat = htmlspecialchars($nachricht->published);
            }
            if ($nachricht->issued) {
                $meindat = htmlspecialchars($nachricht->issued);
            }
            if ($nachricht->updated) {
                $meindat = htmlspecialchars($nachricht->updated);
            }
            $import = array("T","Z");
            $export = array(" um "," Uhr");
            $zeitan = str_replace($import, $export, $meindat);
            echo "<br>".substr($zeitan, 0, 19);

            if($nachricht->author->name) {
                echo " / ".htmlspecialchars($nachricht->author->name)."<br>";
            } else {
                echo "<br>\n";
            }
*/
            
$si++;
            if (
$si == $cw) {break;
            }
        }
    }
}
else {echo 
"Es konnten keine Daten geladen werden!";}

?>
was ja für die meisten Fälle ausreicht, eben hier auch nicht reicht. Habe jetzt mal aus Deinem feedreader-f52 alles, was Überschriften und Bilder betrifft rausgenommen und werde weiter daran stricken, bis ich die Deskription als tooltip (title=) ausgeben kann.

Aber weißt Du, wieso beim focus die Description immer zweimal ausgegeben wird, einmal mit Entities (&quot), einmal ohne...?

Gruß
newbie1955
Mit Zitat antworten
  #44 (permalink)  
Alt 11-06-2013, 06:28
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Eigentlich sollte ein Anriss nur einen Artikel schmackhaft machen und zum Weiterlesen verleiten. Dann könnte die Description in <description> den Anriss enthalten, und <content> einen Teil vom Artikel oder den ganzen Artikel.

Sehr viele Anbieter berücksichtigen das jedoch nicht und fügen beim Anriss einfach den ersten Absatz des Artikels ein, der dann in Feeds innerhalb von <description> erscheint. Der Focus setzt da noch eins drauf und knallt da bereits Listen, Tabellen und anderes Zeug mit in <description>, dabei aber ohne CDATA und nur mit HTML-Entities. Unter Content wiederholt sich dann alles innerhalb von CDATA mit normalen HTML-Tags.

Dachte schon an einen String-Vergleich, doch einige wiederholen zwar, fügen dann aber innerhalb von CDATA am Anfang noch ein Bild mit ein. Und bevor da alles berücksichtigt wird, ist es doch einfacher eins von beiden einfach bei den Einstellungen auf false zu setzen.

PHP-Code:
$content false;

if (
$nachricht->content and $content != false) { 
Die einzelnen Feeds hier zu besprechen, geht jetzt aber an der Eingangsfrage vorbei und interessiert außer uns beide sicherlich keinen weiteren Besucher des Forums, hat ja auch praktisch nichts mehr oder kaum noch mit PHP zu tun.
Mit Zitat antworten
  #45 (permalink)  
Alt 11-06-2013, 23:09
newbie1955
 Registrierter Benutzer
Links : Onlinestatus : newbie1955 ist offline
Registriert seit: Dec 2012
Beiträge: 241
newbie1955 befindet sich auf einem aufstrebenden Ast
Standard Frage

Ja, da hast Du sicher recht. Dennoch eine Frage: Ich habe versucht, Deinen feedreader in meine Seite einzubauen, wobei ich nicht genau weiß, ob man functions definieren kann, die wiederum andere functions aufrufen. Wenn Du mal Zeit und Lust hast, schau Dir doch einmal an, wie ich das eingebaut habe und welche Fehler ich gemacht habe (musste den Text hier kürzen,weil zu lang).
Wenn Du keine Lust hast, auch ok.

Gruß
newbie1955
PHP-Code:
<?php
ini_set
("user_agent""Mozilla/5.0 (compatible; Feedreader/PHP +".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].")");
header("Content-Type: text/html; charset=UTF-8");

?>

<!DOCTYPE html>
<!--[if lt IE 7 ]><html lang="de" class="no-js ie6" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 7 ]><html lang="de" class="no-js ie7" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 8 ]><html lang="de" class="no-js ie8" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 9 ]><html lang="de" class="no-js ie9" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html lang="de" class="no-js" xmlns="http://www.w3.org/1999/xhtml"><!--<![endif]-->
<head> 
 
    <title></title> 
  <!-- Mimic Internet Explorer 9 -->
 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
<meta name usw......

<?php
function feedreader ($seite)

error_reporting(E_ALL);                  

$feedt "Feed - ";                     
$maxim 12;                            
$formu false;                           
$descr true;                          
$conte true;                           
$summa true;                           
$maxho 250;                            
$maxwe 250;                           
define("SCHLIESSE"">");                
?>

<?php

function wandleTags($daten) {

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

        
create_function(

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

    
/*-- Für den Fall, dass der Feed nur als String ohne Zeilenumbrüche ausgeliefert wird. ----------------------*/

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

        
$eing  = array(

            
"><item>"        => ">\r\n<item>",
            
"><title>"       => ">\r\n<title>",
            
"><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>",
            
"><creatorn>"    => ">\r\n<creator>"
        
);
        
$daten strtr($daten$eing);
    }
    return 
$daten;
}
?>

<?php

function filtereHTML($daten$image) {

    
$daten preg_replace("/<p.*?>(.+?)<\/p>/is""$1[br]"$daten);
    
$daten preg_replace("/<div.*?>(.+?)<\/div>/is""$1[br]"$daten);
    
$daten preg_replace("/<span.*?>(.*?)<\/span>/is""$1"$daten);
    
$daten preg_replace("/<br.*?>/i""[br]"$daten);
    
$daten preg_replace("/<a href.+?>(.*?)<\/a>/is""$1"$daten);

    if (
$image === true) {
        
$daten preg_replace("/<img.*?src=\"([a-z0-9_\/=.:;&?-]+?)\.(jpg|png).*?>/is""[img]$1.$2[/img]"$daten);
    }
    
$eing  = array(

        
"<b>"        => "[b]",
        
"</b>"       => "[/b]",
        
"<i>"        => "[i]",
        
"</i>"       => "[/i]",
        
"<em>"       => "[i]",
        
"</em>"      => "[/i]",
        
"<ul>"       => "[ul]",
        
"</ul>"      => "[/ul]",
        
"<li>"       => "[li]",
        
"</li>"      => "[/li]",
        
"<strong>"   => "[strong]",
        
"</strong>"  => "[/strong]",
        
"{"          => "",
        
"}"          => ""
    
);
    
$daten strtr($daten$eing);
    
$daten preg_replace("/<.+?>/is"""$daten);
    return 
$daten;
}

?>

<?php

function formeHTML($daten) {

    
$eing  = array(

        
"[br]"       => "<br".SCHLIESSE,
        
"[b]"        => "<b>",
        
"[/b]"       => "</b>",
        
"[i]"        => "<em>",
        
"[/i]"       => "</em>",
        
"[ul]"       => "<ul>",
        
"[/ul]"      => "</ul>",
        
"[li]"       => "<li>",
        
"[/li]"      => "</li>",
        
"[strong]"   => "<strong>",
        
"[/strong]"  => "</strong>",
    );
    
$daten strtr($daten$eing);

    
$daten preg_replace("/[\n]/""\n\t"$daten);
    
$daten preg_replace_callback("/\[img\](.+?)\[\/img\]/",

    
create_function ('$bilder',

        
'@$format = getimagesize($bilder[1]);

        if($format != false) {

            if ($format["mime"] == "image/jpeg" or $format["mime"] == "image/png") {

                global $maxho, $maxwe;

                $height = $format[1];
                $width  = $format[0];

                if ($height > $maxho){

                    $height  = $maxho;
                    $prozent = ($format[1] / $height);
                    $width   = ($format[0] / $prozent);
                }
                if ($width > $maxwe){

                    $width   = $maxwe;
                    $prozent = ($format[0] / $width);
                    $height  = ($format[1] / $prozent);
                }
                return "<img src=\"".htmlspecialchars($bilder[1], ENT_QUOTES)."\" alt=\"Bild\"".
                       " height=\"".round($height)."\" width=\"".round($width)."\"".SCHLIESSE;
            }
        }'
    
), $daten);
    return 
$daten;
}
?>

<?php

function formeDatumZeit($daten) {

    
$daten preg_replace("/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})/""$3.$2.$1 um $4:$5 Uhr"$daten);
    
$daten substr($daten023);
    return 
$daten;
}

/*-- Die Funktion prüft enthaltene Links auf unerlaubte Zeichen und entfernt diese erforderlichenfalls. ----------*/

function filtereLinks($daten) {

    
$daten preg_replace("/[^a-z0-9_\/=.:;&?-]/is"""$daten);
    return 
$daten;
}

$link  false;                               // Bekanntmachung der Variablen $link, $lesen und $enco sowie Startwert von $si
$lesen false;
$image false;                               // $image false zuweisen
$enco  "";
$si =  0;

echo 
"<div class=\"feed\">\n";


if ((@
$data file_get_contents($seite)) != false) {

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

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

    if (
$lesen != false) {

        foreach (
$lesen as $nachricht) {

   
            if (
$nachricht->link) {

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

                       if (
$nachricht->title) {
                echo 
"\x20\x20<h3><a href=\"".htmlspecialchars(filtereLinks($link), ENT_QUOTES)."\" target=\"_blank\">".
                
formeHTML(htmlspecialchars(filtereHTML($nachricht->title$image), ENT_QUOTES))."</a></h3>\n";
            }

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

                
$image false;       // Nur für description erst einmal und falls kein nach Fund auch für content und summary

                
echo "\x20\x20<p>".formeHTML(htmlspecialchars(filtereHTML($nachricht->description$image), ENT_QUOTES))."</p>\n";

                if ((
strpos((string)$nachricht->description"<img")) !== false) {
                    
$image false;
                }
            }
            if (
$nachricht->content and $conte != false) {
                echo 
"\x20\x20<p>".formeHTML(htmlspecialchars(filtereHTML($nachricht->content$image), ENT_QUOTES))."</p>\n";
            }
            if (
$nachricht->summary and $summa != false) {
                echo 
"\x20\x20<p>".formeHTML(htmlspecialchars(filtereHTML($nachricht->summary$image), ENT_QUOTES))."</p>\n";
            }
                
$image false;      // Nur für Fall, das false nicht durch description ausgelöst wurde

                
            
$si++;
            if (
$si == $maxim) {break;
            }
        }
    }
} else { echo 
"<br".SCHLIESSE."Feed konnte nicht geladen werden!\n";
}
?>


</head>
     
   <body>


   <div class="border">

   
<a href="http://www.focus.de/politik/" target='_blank'> 
<img src="logos/focus.jpg" alt="FOCUS" style=" margin:3px 0px 0px -45px ; padding:0px;"/></a>


<ul>
<?php

feedreader 
('http://rss2.focus.de/c/32191/f/443313/index.rss');

?>

    </div>
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
xpath array foreach


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/104038-foreach-schleifen-und-arrays.html
Erstellt von For Type Datum
RSS Feed einbinden This thread Refback 29-09-2013 21:09

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
foreach schleifen disabled der_meier_hans PHP Developer Forum 1 06-06-2008 17:37
Schleifen, Form und Arrays QWerner PHP Developer Forum 9 16-06-2006 05:16
Problem mit Arrays und Schleifen mobo81 PHP Developer Forum 3 14-03-2006 19:07
[PHP5] Problem mit foreach-schleifen ausgaben scriptmaus Projekthilfe 12 07-12-2005 14:43
foreach() und zwei arrays Maranello-550 PHP Developer Forum 5 07-11-2003 21:43

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:27 Uhr.