首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URL解析,并使用智能获取url的部分

URL解析,并使用智能获取url的部分
EN

Stack Overflow用户
提问于 2014-06-19 10:29:04
回答 1查看 2.1K关注 0票数 0

通过使用下面的php代码,我可以获取当前的url并执行解析并获得string.But的一部分,这段代码在我的智能模板file.The智能代码中是不支持的,我已经转换的file.The智能代码不能正常工作。

php代码:

代码语言:javascript
复制
<?php

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$url_path=$url;

$parsed = parse_url($url);

$path = explode('/', $parsed['path']);

$resulturl =  $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';

$outurl = $path[1];

 ?> 

if ($outurl == "album") { 
    <h6>Sample text one </h6>
 }
else
{ 
    <h6>Sample text two </h6>
}

智能代码:

代码语言:javascript
复制
{php} 

$url={$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}

$url_path=$url;

$parsed = parse_url($url);

$path = explode('/', $parsed['path']);

$resulturl =  $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';

$outurl = $path[1];

{/php}

{if $outurl == 'album'}
     <h6>Sample text one </h6>
{else}
     <h6>Sample text two </h6>
{/if}
EN

回答 1

Stack Overflow用户

发布于 2014-06-19 10:37:19

你做错了。Smarty用于将PHP操作从显示中分离出来。你应该做的事情很简单:

PHP文件:

代码语言:javascript
复制
<?php

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$url_path=$url;

$parsed = parse_url($url);

$path = explode('/', $parsed['path']);

$resulturl =  $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';

$outurl = $path[1];

$smarty->assign('outurl', $outurl);

智能模板文件:

代码语言:javascript
复制
{if $outurl == 'album'}
     <h6>Sample text one </h6>
{else}
     <h6>Sample text two </h6>
{/if}

现在不再推荐在Smarty模板中使用{php}标记,在当前版本中,您只可以使用BC类,而不能使用标准类。在您的例子中,我认为在Smarty模板中使用这个标记没有任何意义,因为您可以在PHP中简单地这样做,并将$outurl传递给模板文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24304382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档