preg fuer wortlänge ...

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

  • preg fuer wortlänge ...

    Ich habe das hier

    PHP-Code:
    preg_replace('!\b(\S{10})\S*\b!''$1...'$text); 
    im forum gefunden ... -

    - wieso geht das nur mit einer zahl und nicht so :

    PHP-Code:
    preg_replace('!\b(\S{$wortlänge})\S*\b!''$1...'$text); 



    danke fuer antworten ^^

  • #2
    1. http://www.phpguru.org/downloads/PCR...at%20Sheet.pdf << guck mal für was b steht...
    2. eine Variable zwischen ' und ' wird meiner Kenntnis nach nicht vom Interpreter beachtet, ergo solltest du ' und ' durch " und " austauschen. und vorher punkt 1 lesen.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      ja das stimmt habe ich auch bereits ausprobiert geht aber ned ^^ mit den "" -- und wegen dem b .. jo was soll das jetz an meinem problem aendern das ich ne variable statts zahl nehmen kann - danke dir aber trotzdem

      und vorher punkt 1 lesen - bin dabei

      Kommentar


      • #4
        wenn du punkt 1 gelesen hast, hast du sicher festgestellt, das b nur für zahlen steht...
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          word boundarys ? . sind doch worte ?

          hmm aber die variable ist ja auch eine zahl ^^ --- wie wuerde das dann gehen kenne mich mit dem ganzen preg_match zeugs ned so aus - leider .. ist fast ne sprache fuer sich

          wäre echt froh wenn du mir ne ugf lösung fuer mein problem geben koenntest - da der code wie gesagt nur im forum hier von mir gefunden wurde ...

          danke !


          gruß subabrain

          PS: bitte erhört mich
          Zuletzt geändert von subabrain; 17.09.2005, 22:14.

          Kommentar


          • #6
            ups, blöde Groß- und Kleinschreibung. ja hast recht, b steht für "Word boundary", bin da wohl eine Zeile runter gerutscht

            PHP-Code:
            preg_replace('!b(S{'.$wortlänge.'})S*b!''$1...'$text); 
            hast du das mal so versucht?
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              .. leider nicht - aber dank dir das du wenigstens versuchst mir zu helfen !

              naja ... wird wohl irgendwann gelöst werden

              PS: is halt komisch das es mit der zahl geht aber nicht mit neer variable ...

              aja ... wenn wir schonmal dabeisind -- ist die $1 der anfang der ausgabe ? bzw ich schau mir eben mal preg_replace auf php.net genauer an ^^
              Zuletzt geändert von subabrain; 17.09.2005, 22:59.

              Kommentar


              • #8
                bitte helft mir weil ich bekoms echt ned gebacken ... -- keonnt auch erst nach dem wählen helfen aber wäre nett wenn ueberhaupt - dankeschoen !

                Kommentar


                • #9
                  hi!

                  geht's dir jetzt um die variable die nicht angenommen wird oder
                  um die syntax des suchmusters?

                  oder hast du's schon geschafft?

                  PHP-Code:
                  <?php
                          $a    
                  "a";
                          
                  $z    "z";
                          
                  $text ="abc123def456";
                          echo 
                  preg_replace("/[$a-$z]/""b"$text);
                  ?>
                  das ersetzt zb alle buchstaben mit nem b.

                  btw: lass mal lieber die umlaute aus den variablen namen wortlänge -> wortlaenge
                  fragen macht spass, denken nicht

                  Kommentar


                  • #10
                    hi jo danke ... ich habe jetzt mal das ganze mit explode gemacht .. und dann strlen verwendet -- mein problem ist nur das ich jetzt nicht nur das leerzeichen zum exploden und imploden brauche sondern auch das zeilenumbruch zeichen chr(13) oder chr(10) ------- weiss jemand wie ich 2 sachen gleichzeitig zum exploden nehmen kann .. ?#

                    hier mal der code -- habe ihn ebenfalls hier im forum gefunden nur bei mir geht wie gesagt wenn ich zeilenumbrueche habe der rest des textes ins nirvana ^^ (bzw irgendwas fehlt halt - bin mir ned 100 pro sicher obs an den umbruechen liegt) :

                    PHP-Code:
                    $nachricht explode(' '$nachricht);
                    foreach (
                    $nachricht as $key => $value)
                    {
                     if (
                    strlen($value) > $maxword)
                      {
                    $nachricht[$key] = substr($value0$maxword) . '...';}
                    }
                    $nachricht implode(' '$nachricht); 
                    thx fuer antworten !

                    subabrain !
                    Zuletzt geändert von subabrain; 18.09.2005, 16:09.

                    Kommentar


                    • #11
                      warum machst du denn nicht

                      PHP-Code:
                      explode(" ",explode("\\n"$nachricht )) 
                      fragen macht spass, denken nicht

                      Kommentar


                      • #12
                        ah ok danke werds mal probieren

                        hmm scheint nen fehler zu geben ^^ -- aber das mit dem n - is gut bin echt doof das ich da ned draufgekommen bin ^^
                        Zuletzt geändert von subabrain; 18.09.2005, 16:48.

                        Kommentar

                        Lädt...
                        X