/ Published in: PHP
Parse syntax in a text using pregreplacecallback.
Expand |
Embed | Plain Text
<?php class Parser { public $func_expr = '!\[#(.+?)(?:\s(.+?))?\]!s'; public $args_expr = '!(\S+)\s*=\s*([\'"]?)([^\2]+?)\2!s'; public function __construct($text, $cbclass) { $this->_text = $text; $this->_cbclass = $cbclass; } public function func_expr($expr = NULL) { } public function args_expr($expr = NULL) { } public function do_parse() { } private function do_parse_func($m) { $args = $this->do_parse_args($args); } private function do_parse_args($str) { return array_combine($m[1], $m[3]); } } class MyParserCallbacks { { //var_dump($args); return 'REGEXFTW'; } } $text = '[#func] blabla [#func tamanho="520x75"] teste [#func tamanho="520x75"]'; $parser = new Parser($text, MyParserCallbacks); ?>
You need to login to post a comment.
