seth: preg_match mit "

Beitrag lesen

gudn tach Andi!

irgendwas ist hier faul. hast du mal in $line reingeschaut? steht da wirklich das drin was du glaubst, dass es drinsteht?

das script

  
<?php  
function such_id($line, $i){  
  echo "\ntest $i: $line\n";  
  preg_match('|<ID n="(\d*)"/>|', $line, $treffer);  
  echo 're1: '.((count($treffer)>1)? $treffer[1]:'nix')."\n";  
  preg_match('|<ID n=\"([\d*])\"/>|', $line, $treffer);  
  echo 're2: '.((count($treffer)>1)? $treffer[1]:'nix')."\n";  
}  
$i=0;  
such_id('foo<ID n="13"/>bar', ++$i);  
such_id('foo<ID n="5"/>bar', ++$i);  
such_id('foo<ID n="*"/>bar', ++$i);  
?>

gibt bei mir folgendes aus:
---------------------------

test 1: foo<ID n="13"/>bar
re1: 13
re2: nix

test 2: foo<ID n="5"/>bar
re1: 5
re2: 5

test 3: foo<ID n="*"/>bar
re1: nix
re2: *
---------------------------

bei dir nicht?

der regexp /([\d*])/ matcht genau ein zeichen, welches eine ziffer oder ein stern ist; ist also aquivalent zu /([0-9*])/

prost
seth