tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
379
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    frankys9 frankys9 ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    52
    Hallo Leute,

    ich möcht mir gern String nach x Zeichen abschneiden und "..." anhängen.
    Das ist auch nicht die Schwirigkeit.

    PHP-Code:
    if (strlen($myString) >= 10)
            {
            echo 
    substr($myString,0,10)."...<br>";
            } 
    Wenn in myString der Tag <a> </a> enthalten ist soll dieser mit allen was darin enthalten ist ignoriert werden.
    Da ich von PHP noch nicht so viel Ahnung stehe ich auf dem Schlauch.

    Ist es überhaupt möglich so eine Art Filter zu schreiben und wenn ja könnt ihr mir vielleicht einen Lösungsansatz geben

    Danke
     
    MfG
    Frank

  2. #2
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Ja ist es. Du solltest dich diesbezüglich im TUtorial hier auf dieser Seite zum Thema Regulätr Ausdrücke belesen. Du könntest überprüfen, ob nach dem Abschneiden des Strings noch ein alleinstehendes <a> vorkommt und dieses dann mithilfe der regulären Ausdrücke mit preg_replace() rausschneiden.

    Hier das Tutorial:
    http://www.tutorials.de/forum/php-tu...ons-regex.html
     
    Wenn man der freudschen psychosexuellen Theorie über Eros und Tanatos glaubt, bleibt eine unbeantwortbare Frage: Was hat Programmieren mit der Libido und sexueller Befriedigung zu tun?

  3. #3
    frankys9 frankys9 ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    52
    Hallo Tucker,

    danke für den Link, das werde ich mir gleich mal anschaun und bei Bedarf noch mal Posten
     
    MfG
    Frank

  4. #4
    frankys9 frankys9 ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    52
    Hallo noch mal,

    also ich habe jetzt das komplette Tutorial durchgearbeitet und muss sagen, dass das Tutorial an sich super ist aber mir bei meinem Problem nicht wirklich weiter helfen kann.

    Die "Lösung" mit preg_replace ist nicht das was ich erreichen möchte...

    PHP-Code:
    <?php

        $myString 
    "<a href='index.php'>Link</a> Hier steht der restliche Text, der gekürzt werden soll.";
        if (
    strlen($myString) >= 30)
            {
            echo 
    substr(preg_replace("!<a(.*?)>|</a>!","",$myString),0,30)."...<br />";
            }
    ?>
    Durch preg_replace wird (wie der Name auch schon vermuten lässt) ein bestimmter Bereich aus dem String geschnitten und bei Bedarf ersetzt.

    Ich möcht eigentlich nur erreichen, dass bei substr alle Zeichen ausser zwischen <a und > und zwischen </a> gezählt und dementsprechend abgeschnitten werden.

    Beispiel:
    <a href='index.php'>Link</a> Hier steht der restliche Text, der gekürzt werden soll.

    Es sollen alle Zeichen ausser <a href='index.php'> und </a> gezählt und anschliessend entsprechend gekürzt werden.

    Hat jemand eine Idee?
    Geändert von frankys9 (06.05.06 um 22:49 Uhr)
     
    MfG
    Frank

  5. #5
    Registriert seit
    Mar 2002
    Ort
    Stuttgart (Baden-Württemberg)
    Beiträge
    984
    Blog-Einträge
    7
    So kannst du die länge der <a>-Tags "berechnen":

    PHP-Code:
    $myString "<a href='index.php'>Link</a> Hier steht der<a href='lol.php'></a> restliche Text, der gekürzt werden soll.";

    preg_match_all('/\<a .*\>|\<\/a\>/siU'$myString$matchPREG_SET_ORDER);

    $aLenght 0;
    foreach(
    $match as $var){
      
    $aLenght += strlen($var[0]);
    }

    echo 
    $aLenght
    $aLenght ziehst du dann einfach von der Länge des gesamten Strings ab und hast somit die Länge aller Zeichen ohne die <a>-Tags.
     
    Gruß mAu


    ──────────────────────────
    Ich auf flickr

    * Unformatierten Quellcode schaue ich mir _nicht_ an!
    * Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
    * Bitte die Netiquette beachten.
    * Vergesst nicht, beantwortete Fragen als erledigt zu markieren!


  6. #6
    frankys9 frankys9 ist offline Mitglied Silber
    Registriert seit
    Dec 2004
    Beiträge
    52
    Hallo mAu,

    vielen Dank für deine Hilfe!! Das Script funktioniert super!

    Danke auch an alle anderen die geholfen haben!
     
    MfG
    Frank

Ähnliche Themen

  1. Eigener Filter/Custom Filter
    Von lisali im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 23.09.10, 00:54
  2. SpamAssassin Mail Filter,Procmail Mail Filter
    Von Shooter2k im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 16.09.07, 11:29
  3. Antworten: 1
    Letzter Beitrag: 31.12.04, 14:20
  4. Probleme mit Filter>>Rendering-Filter>>Beleuchtungseffekte
    Von extracuriosity im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 22.08.04, 16:39
  5. noise filter?FILTER?WO SIND DIE?
    Von subzero im Forum 3D Studio Max
    Antworten: 9
    Letzter Beitrag: 01.04.02, 13:53