Newsscript: "Maxlenght" in PHP realisieren?

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

  • Newsscript: "Maxlenght" in PHP realisieren?

    ich bin ein ziemlicher PHP Newbie, und auf der Suche nach folgender Möglichkeit:

    Ich habe eine Webseite die ich teils auf PHP umstellen will, und so habe ich u.a. auch ein PHP Newsscript installiert, ich habe es schon so weit modifiziert das ich die Überschriften in einem speziellem Table angezeigt bekomme. Läuft alles so weit einwandfrei, nur wenn das Newssubject "zu lang" ist, schiebt sich der Text (logischerweise) über die Grafik, was ziemlich unschön ausschaut.

    Nun suche ich nach einer Möglichkeit den Überschriften Text nach z.b. 30 Zeichen automatisch "abkappen" zu lassen also aus: "Mein erstes Newsposting auf dieser tollen Page" "Mein erstes Newsposting ..." zu machen.

    anbei noch die betreffende datei:

    Code:
    [b]copyright by [url]http://www.ps-powerscripts.de/[/url][/b][url][/url]
    <?PHP
      $pn_headlines_query = "SELECT * FROM pn_news WHERE status='1' ORDER BY time DESC LIMIT
    $current, $pn_cfg_num_headlines";
      if ($pncatid != 0) {
        $pn_headlines_query = "SELECT * FROM pn_news WHERE status='1' AND catid='$pncatid' ORDER BY
    time DESC LIMIT $current, $pn_cfg_num_headlines";
      }
      $pn_headlines_result = mysql_query($pn_headlines_query,$handler);
      $pn_headlines_num = mysql_num_rows($pn_headlines_result);
    
      if ($pn_headlines_num == 0) {
        echo "<center>Keine News vorhanden!</center>";
      } else {
        while ($pn_headlines_row = mysql_fetch_array($pn_headlines_result)) {
          $pn_cquery = "SELECT * FROM pn_cats WHERE id='$pn_headlines_row[catid]'";
          $pn_cresult = mysql_query($pn_cquery,$handler);
          list($pn_cid, $pn_cname) = mysql_fetch_array($pn_cresult);
    
          $pn_cquery2 = "SELECT newsid FROM pn_comments WHERE newsid='$pn_news_row[id]'";
          $pn_cresult2 = mysql_query($pn_cquery2,$handler);
          $pn_cnum2 = mysql_num_rows($pn_cresult2);
          
          $date = date("d.m.Y", $pn_headlines_row[time]);
          $pn_headlines_design = $pn_cfg_design_headlines;
          $pn_headlines_design = ereg_replace("\(ID\)", $pn_headlines_row[id], $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(CAT\)", $pn_cname, $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(DATE\)", $date, $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(TITLE\)", $pn_headlines_row[title], $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(TEXT\)", $pn_headlines_row[text], $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(AUTHOR\)", $pn_headlines_row[author], $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(EMAIL\)", $pn_headlines_row[email], $pn_headlines_design);
          $pn_headlines_design = ereg_replace("\(COMNUM\)", "$pn_cnum2", $pn_headlines_design);
    
          echo "$pn_headlines_design";
        }
      }
    ?>
    [Editiert von Morpheus am 23-06-2001 um 15:36]
    Reality.sys corrupted! Reboot Universe? (Y/N)

  • #2
    /* Dieser Schnipsel müsste einen String im Array auf 30 Zeichen kürzen */

    if (strlen($pn_headlines_row[title]) > 30) {
    $headline_kurz = substr ($pn_headlines_row[title], 0, 30);
    }

    /* als Ausgabe des gekürzten Titels dient dann die Variable $headline_kurz */
    the art of reduction

    Kommentar


    • #3
      funktioniert!

      In deiner Version hatte er nach der Variablen Abfrage gar nichts ausgegeben Habe ich vermutlich falsch eingefügt. Na ja, auf alle Fälle funktioniert es mit dieser Zeile:

      Code:
      $pn_headlines_design = ereg_replace("\(TITLE\)", substr($pn_headlines_row[title],0,30), $pn_headlines_design);
      Vielen Dank für den Ansatz!!

      @ mod sorry wenn das wieder zu lang gerät.
      Reality.sys corrupted! Reboot Universe? (Y/N)

      Kommentar

      Lädt...
      X