Grizzly: Reguläre Ausdrücke(preg_match_all) gibt nichts zurück!

Hallo Leute,
ich habe das problem, das bei diesem Code

  
<form name="form" method="post" action="regEx.php">  
	<table align="center">  
        <tr>  
            <td>  
    	        <textarea  name="eingabe" id="eingabe" cols="40" rows="10"></textarea>  
	        </td>  
        </tr>  
        <tr>  
            <td>  
        	    <?PHP ersetzen(); ?>  
            </td>  
	    </tr>  
        <tr>  
            <td align="center">  
        	   <input name="submit" type="submit" value="E-mails holen" />  
            </td>  
	    </tr>  
    </table>  
</form>  
  
<?PHP  
	  
	$arr = array("0" => array(1, 2, 3, 4), "1" => array(5, 6, 7, 8));  
  
	foreach($arr as $i => $anzahl)  
	{  
		foreach($arr[$i] as $j => $anzahl)  
		{	  
			echo $arr[$i][$j]."\n";  
		}  
	}  
	  
	function ersetzen()  
	{  
		$eingabe = $_POST['eingabe'];  
		$ausgabe = "";  
		$suchen = "[a-zA-Z]";  
	  
		preg_match_all($suchen, $eingabe, $treffer);  
		  
		foreach($treffer as $i => $anzahl)  
		{  
			foreach($treffer[$i] as $j => $anzahl)  
			{  
				echo "test".$i.$j;  
				$ausgabe .= $treffer[$i][$j]."\n";  
			}  
		}  
		  
		echo '<textarea readonly="readonly" name="ausgabe" id="ausgabe" cols="40" rows="5">'.$ausgabe.'</textarea>';  
		  
		print_r($treffer);  
	}  
?>  

die Variable $treffer scheinbar leer ist egal wonach ich per regEx suche, preg_match_all gibt mir nichts aus.

Ich fummel schon seit Tagen an diesem doch relativ überschaubarem Code und komme auf keine Lösung ich hoffe einer von euch kann mir da helfen.

Danke im Voraus, Grizzly

  1. Lieber Grizzly,

      $suchen = "[a-zA-Z]";  
      preg\_match\_all($suchen, $eingabe, $treffer);  
    

    das, was da in der Variable "$suchen" steht, ist kein reguläres Suchmuster. Informiere Dich, wie die in PHP auszusehen haben.

    Liebe Grüße,

    Felix Riesterer.

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

        $suchen = "[a-zA-Z]";  
        preg\_match\_all($suchen, $eingabe, $treffer);  
      

      das, was da in der Variable "$suchen" steht, ist kein reguläres Suchmuster. Informiere Dich, wie die in PHP auszusehen haben.

      Selba!

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      1. Lieber ChrisB,

        natürlich habe ich auf die Delimiter abgehoben. Mir ist keine Möglichkeit bekannt, in PHP ein Suchmuster ohne diese Delimiter (oder einem enstprechenden Ersatz) zu notieren. Ergo stand in der Variable (für PHP) kein Suchmuster. Dass die in der Variable notierte Zeichenkette sehr wohl ein Suchmuster im eigentlichen Sinne darstellt, wollte ich nicht in Abrede stellen.

        Liebe Grüße,

        Felix Riesterer.

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

          natürlich habe ich auf die Delimiter abgehoben.

          Ich auch.

          Mir ist keine Möglichkeit bekannt, in PHP ein Suchmuster ohne diese Delimiter (oder einem enstprechenden Ersatz) zu notieren.

          Und dieses hat Delimiter.

          MfG ChrisB

          --
          RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    2. Lieber Grizzly,

        $suchen = "[a-zA-Z]";  
        preg\_match\_all($suchen, $eingabe, $treffer);  
      

      das, was da in der Variable "$suchen" steht, ist kein reguläres Suchmuster. Informiere Dich, wie die in PHP auszusehen haben.

      Liebe Grüße,

      Felix Riesterer.

      Laut dieser Seite ist das schon ein reguläres Suchmuster, wenn ich da etwas missverstehe kläre mich bitte auf.

      Lg Grizzly

  2. [latex]Mae  govannen![/latex]

      $eingabe = $\_POST['eingabe'];  
    

    Wozu die Umkopiererei? Das ist fast immer sinnlos.

      $suchen = "[a-zA-Z]";  
    

    Wo sind die Delimiter? Willst du wirklich nur jeweils ein Zeichen pro match?

    Stur lächeln und winken, Männer!
    Kai

    --
    Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
    in Richtung "Mess up the Web".(suit)
    SelfHTML-Forum-Stylesheet
    1. Hi,

        $suchen = "[a-zA-Z]";  
      

      Wo sind die Delimiter?

      Am Anfang und am Ende.

      http://www.php.net/manual/en/regexp.reference.delimiters.php:
      “In addition to the aforementioned delimiters, it is also possible to use bracket style delimiters where the opening and closing brackets are the starting and ending delimiter, respectively.”

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      1. [latex]Mae  govannen![/latex]

          $suchen = "[a-zA-Z]";  
        

        Wo sind die Delimiter?

        Am Anfang und am Ende.

        http://www.php.net/manual/en/regexp.reference.delimiters.php:
        “In addition to the aforementioned delimiters, it is also possible to use bracket style delimiters where the opening and closing brackets are the starting and ending delimiter, respectively.”

        Hm.

        $eingabe = "foobar";  
        $suchen = "[a-zA-Z]";  
        $u = preg_match_all($suchen, $eingabe, $treffer);  
        var_dump($u, $treffer);  
        # int(0) array(1) { [0]=> array(0) { } }
        
        $eingabe = "foobar";  
        $suchen = "/[a-zA-Z]/";  
        $u = preg_match_all($suchen, $eingabe, $treffer);  
        var_dump($u, $treffer);  
        # int(6) array(1) { [0]=> array(6) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" [3]=> string(1) "b" [4]=> string(1) "a" [5]=> string(1) "r" } }
        

        Stur lächeln und winken, Männer!
        Kai

        --
        Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
        in Richtung "Mess up the Web".(suit)
        SelfHTML-Forum-Stylesheet
        1. Hi,

          Hm.

          $eingabe = "foobar";

          $suchen = "[a-zA-Z]";
          $u = preg_match_all($suchen, $eingabe, $treffer);
          var_dump($u, $treffer);

          int(0) array(1) { [0]=> array(0) { } }

            
          Selbstverständlich kein Treffer - $eingabe enthält ja auch nicht den Text a-zA-Z, nach dem du mit diesem Muster suchst.  
            
          MfG ChrisB  
            
          
          -- 
          RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
          
    2.   $eingabe = $\_POST['eingabe'];  
      

      Wozu die Umkopiererei? Das ist fast immer sinnlos.

      Naja ich find es als einfache Variable übersichtlicher deswegen habe ich das gemacht.

        $suchen = "[a-zA-Z]";  
      

      Wo sind die Delimiter? Willst du wirklich nur jeweils ein Zeichen pro match?

      Was sind Delimiter? Nein will ich im nach hinein nicht mehr das ist ausschließlich zu test zwecken, ob sich da überhaupt etwas tut.

      Nacher wird die hiernach gesucht "\s[a-zA-Z_0-9.]+@[a-zA-Z_0-9.]+\s[a-zA-Z_0-9.]+@[a-zA-Z_0-9.]+\s"

      Lg Grizzly

  3. Danke ChrisB, Kai345 und Felix Riesterer

    Es lag an den Delimiter ich hab nach gelesen worum es sich dabei handelt und siehe da mit $suchen"#[a-zA-Z]#" funktioniert es

    1. ... nach gelesen ...
      ... im nach hinein ...
      ... test zwecken ...

      Ich will nicht pingelig sein aber zusammen mit den anderen Fehlern wird dein Text langsam schwer lesbar. Frag dich doch mal, was das, was Du da getrennt schreibst, eigentlich sein soll.