String ausschneiden

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

  • String ausschneiden

    Hallo!
    Ich suche nach einer Möglichkeit aus einem String etwas zwischen zwei "Parametern" auszuschneiden. Habe bisher das hier verwendet


    PHP-Code:
    $var '<h3>Koala</h3>'
    $start '<h3>';
    $ende  '</h3>';
    $search substr$varstrpos$var$start), strpos$var$ende)-strpos$var$start) + strlen($ende) + ); 
    $search sollte dann "Koala" sein. Allerdings funktioniert das nicht wie gewollt. Kennt ihr eine Funktion die mir Sachen zwischen zwei unterschiedlichen Parametern ausschneidet?

    Danke

    ciao

  • #2
    PHP-Code:
    $doc = new DOMDocument();
    $doc->loadHTML('<h3>Koala</h3>');

    $elements $doc->getElementsByTagName('h3');
    foreach (
    $elements as $element) {
        echo 
    $element->nodeValue '<br />';

    Kommentar


    • #3
      Wenn dir die zu entfernenden Werte immer bekannt sind, dann kannst du doch einfach str_replace(); benutzen?
      Es sei denn du willst aus großen Dateien was raus suchen, dann entweder RegEx oder die Lösung von h3ll

      Kommentar


      • #4
        PHP-Code:
        $var '<h3>Koala</h3>'
        $start '<h3>';
        $ende  '</h3>';
        // ausschneiden vom Ende von $start bis zum Anfang von $ende
        $search substr($var
            
        // Ende von $start = Anfang von $start + Länge von $start
            
        strpos($var$start) + strlen($start), 
            
        // Anzahl Zeichen bis zum Anfang von $ende = Anfang von $ende minus Ende von $start
            
        strpos($var$ende) - (strpos($var$start) + strlen($start))); 
        Kürzer und schneller:
        PHP-Code:
        $start strpos($var$start) + strlen($start);
        $search substr($var$startstrpos($var$ende) - $start); 
        Alternative mit negativem dritten Parameter von substr():
        PHP-Code:
        $search substr($var
            
        strpos($var$start) + strlen($start), 
            
        // Anzahl Zeichen vom Anfang von $ende bis zum Ende von $var = Anfang von $ende minus Ende von $var
            
        strpos($var$ende) - strlen($var)); 
        Zuletzt geändert von onemorenerd; 24.11.2010, 17:37.

        Kommentar


        • #5
          Kürzer und schneller schon, aber extrem unsicher, wenn die Startsequenz gar nicht enthalten ist.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Die Endsequenz könnte auch fehlen oder vor der Startsequenz stehen. Das kann man aber leicht vorher prüfen. Ich wollte nur einen Anstoß geben.

            Kommentar

            Lädt...
            X