Alle Zeichen zwischen 2 vorgegeben Strings heraus finden

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

  • Alle Zeichen zwischen 2 vorgegeben Strings heraus finden

    Hi!

    Ich speichere in einer Datenbank z.B. folgenden Text innerhalb eines Beitrages ab:

    Um nun übergrosse Bilder mit einem Link als Thumbnail darzustellen brauche ich alles zwischen
    PHP-Code:
    [IMGund [/IMG
    .

    Leider finde ich keine Funktion bei php.net, die mir den Teilstring zurück gibt.
    Es können auch mehrerer solcher Kombinationen in dem Text vorkommen.

    Momentan sieht der Quälcode so aus:

    PHP-Code:
    $message str_replace("[IMG]""<img src="$message);
    $message str_replace("[/IMG]"" border=0>"$message); 
    Wie gesagt finde ich keine PHP-Funktion die dies realisiert! Zum suchen bin ich nicht zu doof, nur finde ich leider nichts.

    Gibt es eine solche Funktion und wenn ja wie heisst sie?

    Gruß

    edit:
    Natürlich kann ich nach dem 1. vorkommenden Zeichen suchen und das jeweils wieder ersetzen. Aber dafür kann es doch sicherlich eine Funktion geben, die mir die Mühe erspart.
    Zuletzt geändert von Sunset02; 31.01.2007, 00:59.

  • #2
    google mal nach "reguläre ausdrücke",
    rtfm nach preg_match(), preg_replace() etc.
    google evtl. nach "bbcode php"

    Kommentar


    • #3
      Hab es nun so gelöst:

      PHP-Code:
      while($check == true)
      {
      $start strpos($message'[IMG]');
      $end   strpos($message'[/IMG]');
      $diff $end-$start;
      $img substr($message$start+5$diff-5);
      $img str_replace($URL''$img);
                  
          if(
      $start != false)
          {
              
      $size getimagesize($img);
              if(
      $size[0] > 400)
              {
                  
      $factor 400 $size[0];
                  
      $width $size[0]*$factor;
                  
      $height $size[1]*$factor;
                  
      $scale 'width='.$width.' height='.$height;
                  
      $message str_replace('[IMG]'.$URL.$img'<a href='.$URL.$img.' target=_blank><img src='.$img.' '.$scale.' border=0>'$message); 
                  
      $message str_replace($img.' '.$scale.' border=0>[/IMG]'$img.' '.$scale.' border=0></a>'$message); 
              }
              else
              {
                  
      $message str_replace('[IMG]'.$URL.$img'<img src='.$URL.$img.' border=0>'$message); 
                  
      $message str_replace($img.' border=0>[/IMG]'$img.' border=0>'$message); 
               }
            }
            else 
      $check false;

      Kommentar


      • #4
        ich würde solche ersetzungen auch immer mit str_*-Funktionen machen anstatt mit regulären Ausdrücken! Also deine Lösung sieht schon ok aus (auch wenn ich den code jetzt nicht durchgegangen bin)

        Kommentar


        • #5
          Und mit regulären Ausdrücken würde sich das auf maximal 4 Zeilen reduzieren.
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar

          Lädt...
          X