thinkphp5.0 RC4版本自定义标签 没有办法拿$content做替换

浏览:1051 发布日期:2016/07/05 分类:ThinkPHP5专区 关键字: 自定义标签的问题 thinkphp5.0 RC4的问题
thinkphp5.0 RC4版本自定义标签 拿不到闭合标签内的值$content做替换
闭合标签## {cat pid='0' }<a href="[url]">[title]</a>{/cat}
在thinkphp3.x的版本中是可用的
这里拿到<!--###break###--!> 具体方法中
public function tagCat($tag, $content) {
//$content 这个变量不能替换 所有的cms好 网站产品也好都希望有像织梦那种的标签 就是
// 前台模版调用标签 {cat pid='0' }<a href="[url]">[title]</a>{/cat}
//模版库对标签的处理就是 db 查询pid =0的分类
// str_replace(array("[title]","[url]"),array($value['title'],$url),$content)
//但在thinkphp5.0 RC4 拿到个空的 是你们框架的问题还是还是我在使用过程中有错误 ,试了很多次 就是替换不了
<{/defined}>


$break = '<!--###break###--!>';
if ($nodes) {
$beginArray = [];
// 标签替换 从后向前
foreach ($nodes as $pos => $node) {
// 对应的标签名
$name = $tags[1][$node['name']];
$alias = $lib . $name != $node['name'] ? ($lib ? strstr($node['name'], $lib) : $node['name']) : '';
// 解析标签属性
$attrs = $this->parseAttr($node['begin'][0], $name, $alias);
$method = 'tag' . $name;
// 读取标签库中对应的标签内容 replace[0]用来替换标签头,replace[1]用来替换标签尾
$replace = explode($break, $this->$method($attrs, $break));

附件 QQ截图20160705175128.jpg ( 45.37 KB 下载:13 次 )

最佳答案
评论( 相关
后面还有条评论,点击查看>>