text kürzen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von sebastian (533 Beiträge) am Sonntag, 15.Januar.2006, 12:24.
    text kürzen

      hallo,

      möchte einen text, wenn er mehr als 10 zeichen hat abschneiden und mit ".." versehen. klappt auch (dank den codeschnipsel hier im forum). wenn aber keine zeichen abgeschnitten werden, sprich das wort kleiner als 10 zeichen ist sollen keine ".." stehen. und das funktioniert nicht.


      sub BILDER_NAMEN
      {
      @Liste1=split (/;|  /, $BILD_GALERIE_NAMEN);
      foreach my $opt1(@Liste1){
      $opt1 =~ s/^\s//;
      $opt2 = $opt1;
      $textlang = 10;
      $punkte = ".." if length $opt1 >= $textlang;
      $opt1 = substr($opt1,0,$textlang).$punkte;
      $ausgabe_text .= "<TD WIDTH='25'><a href='#' title='$opt2'><font size='-3'><p>$opt1</p></font></a></td>";
      }
      }
      

      >>http://immo1001.de/baseportal.pl?htx=/immo1001.de/immo2002/baustein/format_immo_02&Id==550&bild=1274g6
      hier wird beim "Bad" trotzdem die ".."angezeigt.


      wenn ich das ganze aber mal einfach nachbau und $opt1 direkt belege, funktionert das.
      siehe hier >>
      <perl>
      $opt1 ="tischtennis";
      $textlang = "5";
      $punkte = ".." if length $opt1 >= $textlang;
      $opt1 = substr($opt1,0,$textlang).$punkte;
      out "$opt1";
      </perl>
      

      >> http://immo1001.de/cgi-bin/baseportal.pl?htx=/immo1001.de/immo2002/baustein/kuerzen_test


      liegt das daran das $opt1 im obingen beispiel mit foreach belegt wird

      sebastian


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von sebastian (533 Beiträge) am Sonntag, 15.Januar.2006, 12:24.
    text kürzen

      hallo,

      möchte einen text, wenn er mehr als 10 zeichen hat abschneiden und mit ".." versehen. klappt auch (dank den codeschnipsel hier im forum). wenn aber keine zeichen abgeschnitten werden, sprich das wort kleiner als 10 zeichen ist sollen keine ".." stehen. und das funktioniert nicht.


      sub BILDER_NAMEN
      {
      @Liste1=split (/;|  /, $BILD_GALERIE_NAMEN);
      foreach my $opt1(@Liste1){
      $opt1 =~ s/^\s//;
      $opt2 = $opt1;
      $textlang = 10;
      $punkte = ".." if length $opt1 >= $textlang;
      $opt1 = substr($opt1,0,$textlang).$punkte;
      $ausgabe_text .= "<TD WIDTH='25'><a href='#' title='$opt2'><font size='-3'><p>$opt1</p></font></a></td>";
      }
      }
      

      >>http://immo1001.de/baseportal.pl?htx=/immo1001.de/immo2002/baustein/format_immo_02&Id==550&bild=1274g6
      hier wird beim "Bad" trotzdem die ".."angezeigt.


      wenn ich das ganze aber mal einfach nachbau und $opt1 direkt belege, funktionert das.
      siehe hier >>
      <perl>
      $opt1 ="tischtennis";
      $textlang = "5";
      $punkte = ".." if length $opt1 >= $textlang;
      $opt1 = substr($opt1,0,$textlang).$punkte;
      out "$opt1";
      </perl>
      

      >> http://immo1001.de/cgi-bin/baseportal.pl?htx=/immo1001.de/immo2002/baustein/kuerzen_test


      liegt das daran das $opt1 im obingen beispiel mit foreach belegt wird

      sebastian

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 15.Januar.2006, 16:08.
    Re: text kürzen

      Das liegt daran das $punkte nicht lokal deklariert ist (my $punkte), das heisst sobal einmal ein Text die grösse überschreitet hat enthält $punkte "..." auch für alle weiteren Schleifendurchläufe.

      Hier mal nen Schnipsel der funktioniert und auch Wörter findet:

      if (length($Text)>40){
      $Text = substr($Text, 0, 38);
      $Text=~ s/( \S*)$/.../oi;
      }
      

     Antworten

    Beitrag von richard (1187 Beiträge) am Sonntag, 15.Januar.2006, 16:20.
    Re: text kürzen

      oder so:

      sub BILDER_NAMEN
      {
      @Liste1=split (/;| /, $BILD_GALERIE_NAMEN);
      foreach my $opt1(@Liste1){
      $opt1 =~ s/^\s//;
      $opt2 = $opt1;
      $textlang = 10;
      $punkte = "";
      $punkte = ".." if length $opt1 >= $textlang;
      $opt1 = substr($opt1,0,$textlang).$punkte;
      $ausgabe_text .= "<TD WIDTH='25'><a href='#' title='$opt2'><font size='-3'><p>$opt1</p></font></a></td>";
      }
      }
      

     Antworten

    Beitrag von sebastian (533 Beiträge) am Sonntag, 15.Januar.2006, 18:44.
    Re: text kürzen

      danke schönan beide,

       funktioniert
      

      sebastian

     Antworten


     
 Liste der ersten 150 Einträge:Einklappen Zur Eingabe 
 Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!