Ergebnis 1 bis 8 von 8

Thema: preg_match erkennt einen BBCode nicht

  1. #1
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard preg_match erkennt einen BBCode nicht

    Hallo, ist ne Weile her seitdem ich so auf dem Schlauch stand, aber ich versteh da gerade etwas nicht.

    Es liegen einige Text vor, der Einfachheit halber, reduziere ich diesen auf den folgenden:

    [description]
    Dies ist eine Beschreibung [/description]
    Mit folgendem Code wollte ich diese Beschreibung auslesen
    PHP-Code:
    $script['description'] = preg_match('#\[description\](.*?)\[/description\]#'$script['description'], $findings_description); 
    Problem bei der ganzen Sache: $findings_description ist immer leer..

    Es muss an dem Zeilenumbruch liegen.., da es ohne erkannt wird

    Folgender Code hilft auch nicht:
    PHP-Code:
    $script['description'] = preg_match('#\[description\](.|\n*?)\[/description\]#'$script['description'], $findings_description); 
    oder
    PHP-Code:
    $script['description'] = preg_match('#\[description\](.*?)\[/description\]#s'$script['description'], $findings_description); 
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von No0ob (29.01.2009 um 22:37 Uhr)

  2. #2
    Kaiserliche Hoheit
    Themenstarter
    Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    Ich hab eben die Lösung gefunden.
    Man muss zwei modifier (m und s) hinten dranhängen, damit die Neue Zeile auch vernachlässigt wird.

    Hier nochmal zum Nachlesen: http://de3.php.net/manual/en/referen....modifiers.php

    Lösung:
    PHP-Code:
    preg_match('#\[description\](.*?)\[/description\]#ms'$thread['message'], $findings_description

  3. #3
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    Code:
    /\[(comment)\](.*?)\[\/comment\]/si
    Sieht anderst aus macht aber das gleiche

    P.S. preg_match_all oder preg_replace

  4. #4
    Kaiserliche Hoheit
    Themenstarter
    Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    Was bringt preg_match_all? Damit ging das auch nicht.
    Und / muss man nicht escapen, und das (comment) macht auch keinen Sinn =/
    Bedeutet i nicht, dass Groß+Kleinschriebung einfach nicht beachtet wird?
    Irgendwie hat mich dein Post nur noch verwirrt =/

  5. #5
    Azubi(ne)
    Registriert seit
    30.10.2008
    Beiträge
    81
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    PHP-Code:
    <?php
    $text 
    "
    Dies ist ein Text lalalalalalaa\n
    \n
    \n
    Jetzt kommt die beschreibung:\n
    [description]holla\n
    die\n
    waldfee\n
    [/description]
    testetststs\n
    [description]test[/description]\n
    testtest"
    ;

    if(
    preg_match_all("/\[description\](.+[^\a]*?)\[\/description\]/",$text,$matches))
    {
        echo 
    "<pre>";
        
    print_r($matches);
        echo 
    "</pre>";
    }

    ?>
    Ich weiss zwar noch nicht genau warum es so funktioniert, weil mich das ^ irritiert, aber es scheint zu klappen.
    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

  6. #6
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    mit preg_match_all bekommst du alle vorkommen die er findet.

    was es bringt oder ob es etwas macht das bei mit der / escapt ist weiss ich nicht, funktioniert so einfach. ist schon älter der regex

    das (comment) hat einen Sinn - du bekommst dann seperat den namen des Tags, in dem Beispiel nicht wirklich notwendig.

    i bedeutet case insensitive, also das er nicht auf gross- kleinschreibung achtet, hat den vorteil das auch [Comment] oder [DescriptioN] etc erkannt werden.

  7. #7
    Kaiserliche Hoheit
    Themenstarter
    Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    Da ich aber der einzige bin, der diese BBCodes verwendet und nicht auf dumme Usereingaben achten muss, funktioniert meine Lösung einwandfrei. Desweiteren, gibt es auch nur einmal [description], von daher bin ich zwar für den Rat dankbar, habe es allerdings, wie schon erwähnt, selbst lösen können.

  8. #8
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: preg_match erkennt einen BBCode nicht

    @RMB und alle Tags müssen dann per [/comment] geschlossen werden...Ist zumindest fehlerresistent.

Ähnliche Themen

  1. MSN erkennt wlan nicht
    Von claudia im Forum Computer - Internet Forum
    Antworten: 4
    Letzter Beitrag: 22.11.2008, 13:51
  2. FF erkennt PHP-Stylesheet nicht
    Von Niels im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 15.10.2007, 19:45
  3. pc erkennt laufwerke nicht
    Von &gt;&gt;Darc&lt;&lt; im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 05.09.2007, 10:20
  4. Erkennt Soundkarte nicht
    Von Sevendeath im Forum Computer - Internet Forum
    Antworten: 8
    Letzter Beitrag: 10.01.2006, 12:58
  5. Erkennt JPG nicht
    Von nuessler im Forum Computer - Internet Forum
    Antworten: 5
    Letzter Beitrag: 07.02.2005, 16:05

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •