Regular Expressions 101

Community Patterns

Read PHPDoc as (key => value) like Wordpress plugins

1

Regular Expression
PCRE (PHP <7.3)

/
\@(?P<key>[a-zA-Z0-9]+)\s{1,}(?P<value>.*)
/
gim

Description

<?php $re = "/\\@(?P<key>[a-zA-Z0-9]+)\\s{1,}(?P<value>.*)/im"; $str = "/**\n@author Marian Gabriel\n@route /page/contact\n@name Contact Plugin\n@version 0.1beta\n@company VMG\n@type Page\n**/\n\n"; preg_match_all($re, $str, $matches); function getValue($attr, $matches) { $values = array(); foreach ($matches['key'] as $key => $value) { $values[$value] = $matches['value'][$key]; } return isset($values[$attr]) ? $values[$attr] : ''; } echo getValue('name', $matches);
Submitted by Marian Gabriel - 8 years ago