Строка для разбора:улучшить PREG/PCRE/регулярное выражение, чтобы найти PHP переменную
$str = "
public $xxxx123;
private $_priv ;
$xxx = 'test';
private $arr_123 = array();
"; // | |
// ^^^^^^^---- get the variable name
Что я до сих пор:
$str = preg_match_all('/\$\S+(;|[[:space:]])/', $str, $matches);
foreach ($matches[0] as $match) {
$match = str_replace('$', '', $match);
$match = str_replace(';', '', $match);
}
Это работает, но я хочу знать , если я могу улучшить preg, например избавиться от двух str_replace
и, возможно, включают в себя \t
в (;|[[:space:]])
, это также соответствует другим случайным строкам например, $ ("= §/& =" §/$), и он не будет правильно соответствовать чему-то вроде $ x = 123; –
все равно будет соответствовать, например, здесь «!» § $% & /() =? '" > $% & /() –
ok теперь мы близки к хорошему решению: D –