2012-01-20 47 views

回答

0

用此代替preg_match

preg_match_all("/![@a-z]*/si", $source, $match); 

preg_match只返回第一个匹配。

0
$source = '!Hello, this is !PHP!HTML [email protected]'; 
preg_match_all("~![^(!|\s|,)]*~si", $source, $match); 
if($match) print_r($match); 
0
<?php 
    $haystack = "!Hello, this is !PHP!HTML [email protected]"; 
    $needle = "/!([^\s\!,])*/"; 

    $matches; 
    preg_match_all($needle,$haystack,$matches); 

    foreach($matches[0] as $match) 
    { 
     echo $match . "\n"; 
    } 
?>