解析 可调用s 由 yaml_parse(),yaml_parse_file() 或 yaml_parse_url() 函数在遇到已注册的 YAML 标签时调用。回调将传递给定实体的值、标签以及指示标量实体样式的标志。回调必须返回 YAML 解析器应该为该实体发出的数据。
示例 #1 解析回调示例
<?php
/**
* 解析 yaml 标签的回调。
* @param mixed $value 来自 yaml 文件的数据
* @param string $tag 触发回调的标签
* @param int $flags 标量实体样式(参见 YAML_*_SCALAR_STYLE)
* @return mixed YAML 解析器应该为给定值发出的值
*/
function tag_callback ($value, $tag, $flags) {
var_dump(func_get_args()); // 调试
return "Hello {$value}";
}
$yaml = <<<YAML
greeting: !example/hello World
YAML;
$result = yaml_parse($yaml, 0, $ndocs, array(
'!example/hello' => 'tag_callback',
));
var_dump($result);
?>
上面的例子将输出类似于
array(3) { [0]=> string(5) "World" [1]=> string(14) "!example/hello" [2]=> int(1) } array(1) { ["greeting"]=> string(11) "Hello World" }