config.php$_LANG['new_arrival']       = 'New Arrivals';
$_LANG['hot_products']   = 'Hot Products';
$_LANG['group_deals']     = 'Group Deals';
$_LANG['specials']            = "Specials";
$_LANG['after']            = '<div>Contact cu\'stomer</div> 
<table><tr><td>service for</td></tr> 
<tr><td>order status and</td></tr>  
<tr><td>other after-sales issues</td></tr></table>'; 
$_LANG['group_deals']     = 'Group Deals'; $subject = file_get_contents("config.php");
$pattern = '这里正则要如何写呢'; 
preg_match_all($pattern, $subject, $matches); 
print_r($matches);我要取出等号后面的所有内容,正则要怎样写呢? 
请注意等号后面字符串中的符号(单引号,双引号,转义符己及换行都要取到)。结果如下:
1. 'New Arrivals' 
2. 'Hot Products' 
3. 'Group Deals'
4. "Specials"
5.  '<div>Contact cu\'stomer</div> 
<table><tr><td>service for</td></tr> 
<tr><td>order status and</td></tr> 
<tr><td>other after-sales issues</td></tr></table>'

解决方案 »

  1.   

    想不通,你那都是个数组了可以直接通过键名来取干嘛还用正则!还有你干嘛要通过file_get_contents来取config.php中的数据?你完全可以把那个数组返回然后直接通过数组来操作还方便些
      

  2.   

    $subject =<<< 'TXT'
    $_LANG['new_arrival']       = 'New Arrivals';
    $_LANG['hot_products']   = 'Hot Products';
    $_LANG['group_deals']     = 'Group Deals';
    $_LANG['specials']            = "Specials";
    $_LANG['after']            = '<div>Contact cu\'stomer</div> 
    <table><tr><td>service for</td></tr> 
    <tr><td>order status and</td></tr>  
    <tr><td>other after-sales issues</td></tr></table>'; 
    $_LANG['group_deals']     = 'Group Deals';
    TXT;
    $pattern = '/.*=\s*(.+);/sU'; 
    preg_match_all($pattern, $subject, $matches); 
    print_r($matches[1]);
    Array
    (
        [0] =>  'New Arrivals'
        [1] =>  'Hot Products'
        [2] =>  'Group Deals'
        [3] =>  "Specials"
        [4] =>  '<div>Contact cu\'stomer</div> 
    <table><tr><td>service for</td></tr> 
    <tr><td>order status and</td></tr>  
    <tr><td>other after-sales issues</td></tr></table>'
        [5] =>  'Group Deals'
    )
      

  3.   

    config.php 一般 include 进来读数组取值就行
      

  4.   

    =\s([''""A-Za-z1-9\s<>\/\\-]*)