<?php
$str = '{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}';
$pattern = "/{!\[([^\]]*)\]}/";
if (preg_match_all($pattern,$str,$match))
{
print_r($match[1]);
}
?>
$str = '{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}';
$pattern = "/{!\[([^\]]*)\]}/";
if (preg_match_all($pattern,$str,$match))
{
print_r($match[1]);
}
?>
如果是,则应用preg_replace_callback对匹配到的成分做处理。仅获取名称是不够的
$subject = "{![工位号]}>=( {![分机]}!={![手机]} )or{![登录密码]} == {![部门主管]}";
preg_match_all('/{!\\[(.*?)\\]}/', $subject, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
// $result[0][$i];
echo $result[1][$i];
}
?>