Problem: PHP und Absätze....

  • Hallo Leute!


    Folgendes: Ich erstelle gerade eine Homepage für unseren Partnerbetrieb.


    Da ich wohl keine Zeit für Wartungsarbeiten auf bringen kann, möchte ich das Instandhalten der Seite gerne den euten Selber überlassen.


    Ich habe also sämtliche Inhalte der Seiten in Textdateien ausgelagert:




    soweit so gut, funktioniert wunderbar :)


    nun aber mein Problem: Wenn ich die Datei so auslese, gibt mir echo den Text unformatiert aus. Gibt es eine möglichkeit, das PHP die Absätze selbstständig einfügt?


    Ich möchte dem Personal nicht unbedingt zumuten, bei jedem absatz noch <p> und den Style hin zu schreiben.....


    besten Dank schon mal!

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • [php]
    <?php
    $fp = fopen("aufbau/menu1.txt","r");
    if ($fp)
    {
    while(!feof($fp))
    {
    $text = fgets($fp);
    $arytext = split("\n", $text);
    $text = "";
    foreach ($arytext as &$value) {
    $text = $text+"<p>"+$value+"</p>";
    }
    echo $text;
    }
    fclose($fp);
    }
    ?>
    [/php]


    müsste so funktionieren.. evtl. musst du noch ein paar anpassungen machen ;)

  • Zitat

    $text = $text+"<p>"+$value+"</p>";


    genau bei dieser Zeile hatts wohl gehappert... Danke schonmal, ich werds morgen gleich "verbauen" :bow2

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • hmm ich komm ned drauf, hab gerade ne blockade.....


    gibt mir immer nen fehler in der foreach schleife aus... müsste ich evtl. vor dem zeilenweisen auslesen noch den zeiger an den dateianfang setzen?!


    ich bin voll aus der übung :(

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • achso du liest da zeilenweise aus, sorry das hab ich übersehen. (bin auch ein wenig aus der übung ;) )


    versuchs mal so:


    [php]
    <?php
    $fp = fopen("aufbau/menu1.txt","r");
    if ($fp)
    {
    while(!feof($fp))
    {
    $text = $text+ fgets($fp);
    }
    fclose($fp);
    }


    $arytext = split("\n", $text);
    $text = "";
    foreach ($arytext as &$value) {
    $text = $text+"<p>"+$value+"</p>";
    }
    echo $text;
    ?>
    [/php]

  • hmm komischerweise hab ich immernoch diese Meldung...


    Zitat

    Parse error: syntax error, unexpected '&', expecting T_VARIABLE or '$' in /var/www/vhosts/*******.ch/subdomains/info/httpdocs/index.php on line 126


    wobei Line 126 line 15 deines Codes entspricht.


    Irgendwie komm ich ned drauf, der hat irgend n Problem mit der Foreach schleife :angst

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • Er sagt ja das das & falsch ist, es heisst


    foreach ($arytext as $value)

    Media: Synology 2x2TB , Popcorn v8, Sonos ZP120, ZP90, 2 Play5, 4 Play1
    Laptop: Thinkpad X220 - I7 , IPS, 16GB DDR3, 256GB SSD + PE4H + GTX580
    Coffee: DC Mini / 2x Vario v2 / Gene CBR-101

  • Schon klar aber dann kommt


    Zitat

    Parse error: syntax error, unexpected $end in /var/www/vhosts/i********.ch/subdomains/info/httpdocs/index.php on line 156


    Das lustige dabei ist, dass bei line 156 der </html> tag kommt :schimpf

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • Es gibt übrigens ein schöner Befehl: nl2br

    PHP
    1. <?php
    2. $fp = fopen("aufbau/menu1.txt","r");
    3. if ($fp) {
    4. while(!feof($fp)) {
    5. $text = nl2br(fgets($fp),true);
    6. echo $text;
    7. }
    8. fclose($fp);
    9. }
    10. ?>


    Wobei hier eventuell das Einlesen per file_get_contents sicher einfacher wäre.

    TOWER i7 3930K | 7970 3GB | 32GB | GA-X79A-UD5 | 250GB Vertex 3 | Lian-Li V1200B-Plus | Eizo 24" | cooled w/ H2O
    FILER A6 5400K | 8GB | 120GB EVO Basic | RAID5 w/ 22TB usable | Lian Li PC-Q25
    NBOOK Lenovo ThinkPad W530 | i7-3720QM | Quadro K2000M | 24GB | 500GB OCZ Vector 180 | 15" WUXGA
    CINE Yamaha A-S1000+CD-S1000 | Marantz SR-6003 | Focal Chorus 725+706V, Cobalt SR 800 | Nubert nuLine CS-72+AW-560 | Panasonic TX-P65ST50J
    photosmusicinsta

    Einmal editiert, zuletzt von stim0r0l ()

  • Zitat

    Original von Thurisaz
    Schon klar aber dann kommt



    Das lustige dabei ist, dass bei line 156 der </html> tag kommt :schimpf


    Da wiste wohl irgendwo nen string ned richtig geschlossen haben. dann nimmter den rest des Files als Wert der variable ;-)


    hitchhiker hat recht. das "&" ist wohl n rein gerutschter tippfehler


    Stimorol hat auch recht, aber da müssteste evtl halt das CSS der Page noch n biserl anpassen. Auf jeden fall hättens die leute die die inhalte pflegen wollen damit aber einfacher, weil in der Absatz-variante jedes zusätzliche enter auch einen neuen <P>-Tag mit allen zugehörigen margins und paddings verursacht, während das <br/>-tag sich dem ähnlicher verhält, wie es leute von Word und notepad gewohnt sind.

    If everything seems to be going well, you have obviously overlooked something - Murphy

    Einmal editiert, zuletzt von Balthazzar ()

  • Und sonst existieren hunderte von WYSIWYG-Editoren, die ein Textfeld in ein halbes Word umwandeln und der zurückgegebene Text reines HTML ist und so kein Absätze-Umwandeln mehr nötig ist.

    TOWER i7 3930K | 7970 3GB | 32GB | GA-X79A-UD5 | 250GB Vertex 3 | Lian-Li V1200B-Plus | Eizo 24" | cooled w/ H2O
    FILER A6 5400K | 8GB | 120GB EVO Basic | RAID5 w/ 22TB usable | Lian Li PC-Q25
    NBOOK Lenovo ThinkPad W530 | i7-3720QM | Quadro K2000M | 24GB | 500GB OCZ Vector 180 | 15" WUXGA
    CINE Yamaha A-S1000+CD-S1000 | Marantz SR-6003 | Focal Chorus 725+706V, Cobalt SR 800 | Nubert nuLine CS-72+AW-560 | Panasonic TX-P65ST50J
    photosmusicinsta

  • naja ich glaub der gute Thurisaz will nich unbedingt die ganze website in nen CMS verwandeln blos damit n KMU 3 mal pro jahr die news aktuallisieren kann ;-)

    If everything seems to be going well, you have obviously overlooked something - Murphy

  • Zitat

    Original von Balthazzar
    naja ich glaub der gute Thurisaz will nich unbedingt die ganze website in nen CMS verwandeln blos damit n KMU 3 mal pro jahr die news aktuallisieren kann ;-)


    danke :D


    aber der ansatz ist ned schlecht! danke schon mal für die hilfe, ich glaub ich bin der lösung schon sehr nahe =)

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

  • Jetzt hab ichs doch tatsächlich noch hingekriegt =)


    [php]
    <?php
    $fp = fopen("inhalte/startseite/text.txt","r");


    if ($fp) {
    while(!feof($fp)) {
    $text = $text . fgets($fp);
    }


    fclose($fp);
    }


    $text = str_replace("\r", "", $text);
    $text = str_replace("</table>", "", $text);

    $formatted_text = str_replace("\n" , "<br>", $text);


    echo $formatted_text;
    ?>
    [/php]


    [php]
    $text = str_replace("</table>", "", $text);
    [/php]


    Musste ich leider einfügen, da es mir aus irgend einem Grund vor den ausgegebenen Text ein </table> einfügt.... ?(


    K.A. vielleicht nicht die sauberste Lösung, aber es funtioniert einwandfrei :rock


    danke noch mal für eure Hilfe =)

    "Es gibt männer, die sich mit dingen wie die Frau zu verstehen beschäftigen, ich beschäftige mich mit banaleren dingen wie der Relativitätstheorie..." (Einstein)

    Einmal editiert, zuletzt von Thurisaz ()

  • Ich hab da auch ne php Frage:


    Mit diesem Script kann man anscheinend die Sprache des Browsers auslesen.
    Nun wollte ich wissen, wie man da ergänzen muss um bei bsp. Englisch auf den Link A geht, bei Deutsch soll es automatisch zum Link B usw..
    Versteht Ihr was ich meine?


    Ich bin an einer 4 Sprachigen Homepage dran, und es wäre cool wenn automatisch die Sprache, mittels Browsersprache, gewählt würde...
    Oder habt Ihr ne bessere Idee als php?



    THx!



  • http://aktuell.de.selfhtml.org/artikel/php/httpsprache/

  • wie beschrieben die sprache auslesen und dann per header("Location: /de.html"); weiterleiten. jedoch die variable unbedingt sanitizen.