我有如下的正則表達式。連字符( - )來自使用常規表達式的不匹配字符串
$content = preg_replace_callback('/\{\%\s*block_(\w*)\s*\%\}/', function ($block){
$block_file = $block[1].'.block';
}
時{% block_contact_us %}
來臨都找到了比賽......但是當{% block_contact-us %}
來臨都失敗..
我有如下的正則表達式。連字符( - )來自使用常規表達式的不匹配字符串
$content = preg_replace_callback('/\{\%\s*block_(\w*)\s*\%\}/', function ($block){
$block_file = $block[1].'.block';
}
時{% block_contact_us %}
來臨都找到了比賽......但是當{% block_contact-us %}
來臨都失敗..
就在一個字符類中添加-
:
$content = preg_replace_callback('/\{\%\s*block_([\w-]*)\s*\%\}/', function ($block){
// here __^^^^^
$block_file = $block[1].'.block';
}
[\w-]
匹配字母數字,下劃線和短跑。
'(\ w +)'=>'([\ w - ] +)' – georg 2014-09-23 11:19:00
@georg really ..? – 2014-09-23 11:22:27