dede softlinks php循环匹配问题
---------已知 [field:softlinks/]标签可调出如下数据: {dede:link text='网址名1'} http://网址1 {/dede:link} {dede:link text='网址名2'} http://网址2 {/dede:link} ... {dede:link text='网址名n'} http://网址n {/dede:link} ------------想要显示的内容: <a href="http://网址1" title="网址名1"><img src="http://网址1.png" width="18" height="18" alt="网址名1"></a> <a href="http://网址2" title="网址名2"><img src="http://网址2.png" width="18" height="18" alt="网址名2"></a> ... <a href="http://网址n" title="网址名n"><img src="http://网址n.png" width="18" height="18" alt="网址名n"></a> -----------参考代码 [field:softlinks runphp='yes'] $link = array_filter(explode('{/dede:link}',@me ),"filter"); $len = count( $link ); for( $i=0;$i< $len-1;$i++ ) { $tpattern="/{dede:link text='(.*)'}/i"; $ppattern="/'}(.*)/i"; preg_match_all($tpattern,$link[$i],$title); preg_match_all($ppattern,$link[$i],$path); echo '<a href='.$path[1][0].' >'.$title[1][0].'</a>'; } function filter($var) { if($var == '' || $var ==' ') { return false; } return true; } [/field:softlinks] ---------这个写的有问题 怎么修改
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
问题已解决 谢谢大家
这个是article内容页 利用关键词 dede:SQL调用相关文章 并列出相关文章的softlinks
第一个红框是测试[field:softlinks /]调出的内容需要 修改
第二个红框是单列出正确的内容 只会逐个调用出来 比较麻烦
第三个红框是想最终实现的效果
我补充了下想要的效果
国庆节快乐
1: img标签还要显示吗?你到底要显示哪样?
""echo '<a href='.$path[1][0].' >'.$title[1][0].'</a>'
这感觉就是普通的名字加链接如果是这样的话, 那你的代码真要好好精简了;
1: 非常明显的对应标签, 实在没必要分组切割.
2: (.*) 正则应用时切记, 一定要加修饰U. 否则后果很严重. 这也是为什么你前面要切割的原因.
3: 国庆节快乐, 除香港.