PHP 4.2.3 word count && trim

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP 4.2.3 word count && trim

    Arbeite als Gast auf externem Apache-Server (PURETEC, PHP 4.2.3.) und kann somit die PHP Version nicht beeinflussen...

    Problematik:

    Brauche die Möglichkeit die Ausgabe eines Strings zu beschneiden, ähnlich wie bei substr(); nur das substr() halt bei einem Fließtext logischer Weise auch gnadenlos mitten im Wort abschneiden wird (Bits Counting). Das ist für mich unbefriedigend :-)

    str_word_count() hieße die Antwort auf den ersten Teil der Frage, wenn man Einfluß auf die PHP Version hätte :-) - tja pech für mich ...

    Nun gibt es im Manual verschiedenste String Funktionen (PHp 4.2) die mich darauf schließen lassen, dass es über einen Umweg dennoch geht, zumal dies viele große Portals schon lange Zeit nutzen um ihre News im "Mainframe" abgekürzt darzustellen. Hier mal ne Gedankenskizze eines Non-Programmers, wie weit ich damit theoretisch gekommen bin, vielleicht habt ihr ja einen Source Code Ansatz für mich ???

    a) $text Auszählen von Leerzeichen && Ausgabe $text bis $Anzahl "Leerzeichen"

    b) Auszählen von Zeichen wie "." (Punkt) && Ausgabe $text bis $Anzahl "Punkte" (macht sich gut um zu sagen man will nur bis zum zweiten Satz oder so ausgeben)

    Nun gibt es wie gesagt String Funkionen, die in der Lage sind die Auszählung der Sonderzeichen zu übernehmen, aber wie dann weiter... das brächte uns zum 2.Problem: Wie schneide ich den String während der Ausgabe aber unter diesen Bedingungen ab? substr() hat seine eigenen Bedingungen und Eine Schleife ist wohl kaum möglich, da ich sonst jedes Bit einzeln ausgeben müsste... Könnte ich z.B. irgendwie den Datenzeiger auf die Position des zweiten gesuchten Zeichens setzen und von dort den davor liegenden Teil eines Strings ausgeben?

    Vielen Dank für jeden konstruktiven Beitrag,
    Brüll Löwe, Brüll
    Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

  • #2
    hmm, habs net so ganz geschnallt, wat sache ist. (ist noch zu früh für mich.)

    guck dir evtl mal word_wrap() an.

    Außerdem haben wir auch schon mehrere Snippets zum Thema String kürzen aber nicht in der Mitte.

    Kommentar


    • #3
      Lösung selbst gefunden, aber danke trotzdem

      Brauche das ganze für ein Newspage look, wo die News erstmal aufgelistet werden und die ersten Worte des Artikels neugierig machen sollen. Hab mich jetzt durch PHP durchgequält und habe meine ersten Resultate: habs jetzt so gelöst, und funktioniert auch (Beispiel erstmal mit fopen() später mit dbconnect() ) :

      PHP-Code:
      <?php
      $datei 
      fopen("text.txt","r");
      $text htmlentities(fgets($datei50000), ENT_QUOTESISO-8859-1);


      switch(
      $action) {
          case 
      mehr:
              echo 
      $text;
      break;
          default:
              
      $text_umgebrochen wordwrap($text90);
              
      $zeilen_von_text explode ("\n"$text_umgebrochen); 
              echo 
      $zeilen_von_text[0] . " |...<a href=\"newstest.php?action=mehr\">mehr</a>";
      break;


      fclose($datei);
      ?>
      ... Die Frage ist nur wie mache ich das jetzt zu einer Routine für alle Artikel ????
      Zuletzt geändert von brüllwürfel; 12.01.2004, 01:10.
      Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

      Kommentar


      • #4
        bauchst doch nur daraus ein FKT zu basteln, dann kannst du das wo immer du willst einsetzen.

        Kommentar

        Lädt...
        X