Pascal: function() gesucht für strstr()

Guten Abend,

Ich suche eine Php Funktion die den Inhalt einer Variablen durchläuft
und nur den "Text" der zwischen 2 Zeichen steht ausgibt.

Ein kleines Beispiel sollte es besser erklären:

$text = "body{color:#fff;}#box{left:0px;}";  
  
function($text,'{','}');

Das Ergebnis sollte dann so aussehen:

color:#fff;  
left:0px;

Alternativ würde es mir auch reichen wenn mir jemand ein kleines
Beispiel mit strstr() geben würde!

Vielen Vielen DANK! lg Pascal

  1. Ich würde so was mit strpos und substr lösen.

  2. Lieber Pascal,

    $text = "body{color:#fff;}#box{left:0px;}";

    function($text,'{','}');

    
    >   
    > Das Ergebnis sollte dann so aussehen:  
    >   
    > ~~~css
    
    color:#fff;  
    
    > left:0px;
    
    

    das ist ein Standardfall für Mustererkennung. Dazu gibt es die berühmten regulären Ausdrücke und in PHP die passenden Funktionen dazu. Du suchst im Grunde preg_match() bzw. preg_match_all() in Verbindung mit einem passenden <http://de.selfhtml.org/perl/sprache/regexpr.htm@title=regulären Ausdruck>.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Lieber Pascal,

      $text = "body{color:#fff;}#box{left:0px;}";

      function($text,'{','}');

      
      > >   
      > > Das Ergebnis sollte dann so aussehen:  
      > >   
      > > ~~~css
      
      color:#fff;  
      
      > > left:0px;
      
      

      das ist ein Standardfall für Mustererkennung. Dazu gibt es die berühmten regulären Ausdrücke und in PHP die passenden Funktionen dazu. Du suchst im Grunde preg_match() bzw. preg_match_all() in Verbindung mit einem passenden <http://de.selfhtml.org/perl/sprache/regexpr.htm@title=regulären Ausdruck>.

      Liebe Grüße,

      Felix Riesterer.

      Hallo Felix,

      Vielen Dank! Hab nach dem Post hier noch weiter gesucht und bin dabei
      dann auch über preg_match_all gestolpert.

      Allerdings haben die "Reguläre Ausdrücke", bei für Verwirrung gesorgt.
      Dank deinem Link tun Sie dass jetzt nicht mehr =)

      Ich finde dass "preg_match_all" eine recht Komplizierte Angelegenheit ist. Deswegen wundert es mich sehr, dass ich keine vereinfachte Funktion finden
      konnte!

      Habe mich jetzt mal dran gemacht dass ganz in eine Funktion zufassen.

      Da ich zurzeit aber noch mit den "Reguläre Ausdrücke" auf Kriegsfuß stehe.
      Würde es mich Freuen wenn jemand "meine" Funktion mit den noch Fehlenden "Reguläre Ausdrücke" erweitert.

      Sinn und Zweck soll es sein eine CSS Datei aufzutrennen.
      In:
                     Anfang     ende
                       |         |
      ID =            "#"       "{"
      CLASS =         "."       "{"
      CSS              |         |
      (color:)=     "{oder;"    ":"
      Farbe            |         |
      (:#fff)=        ":#"      ";"

      etc etc

      Der "Anfang" und dass "ende" sollen per "function()" übergeben werden.
      Und als "return()" sollte das was dazwischen Steht ausgegeben werden.

      "meine" function() Funktioniert soweit schon. Nur eben nicht "Richtig"
      da eben noch ein paar "Reguläre Ausdrücke" fehlen.

      Das Ergebnis soll später ein einfacher AJAX Online CSS Editor werden.
      Der dann mit Jquery und Mootools(Farb Slider) ausgestatt einfach
      und schnell eine CSS Datei Editieren kann.

      Vielen DANK!

      Hier Die Funktion:

      <?php  
      function spliting($text,$zeichenA,$zeichenB){  
      preg_match_all("/($zeichenA([a-zA-Z0-9_])+$zeichenB)/", $text, $treffer, PREG_SET_ORDER);  
      foreach ($treffer as $wert) {  
      $split.=$wert[1]."<br>\n<br>\n";  
      }  
      return ($split);  
      }  
        
      $css = "body{color:#fff;}#box{left:0px;}#lol_01{right:0px;}#lol{right:0px;}.hallo{left:0px;}.welt_01{right:0px;}";  
        
      echo "<br>--MY-<br>";  
      echo spliting($css,".","{");  
      echo "<br>--MY-<br>";  
      ?>
      

      HTML Ausgabe:
      --MY-
      #box{

      #lol_01{

      #lol{

      --MY-

      1. Lieber Pascal,

        Das Ergebnis soll später ein einfacher AJAX Online CSS Editor werden.
        Der dann mit Jquery und Mootools(Farb Slider) ausgestatt einfach
        und schnell eine CSS Datei Editieren kann.

        aha... dann schau mal hier hinein: Web Development Bookmarklets (drittes Bookmarklet "test styles")

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)