1

在我网站的一部分中,我有一个如下所示的网址:

http://www.webizzi.com/mp3/search.html?q=+Hush+Hush+-+(Avril)++Lavigne's+ _

我想通过剥离除 + 之外的 url 上出现的每个特殊字符来保持更清晰的 url,但我也不希望在 url 的开头或结尾有 ++ 或 + 之类的东西,url 应该看起来像那个以下

http://www.webizzi.com/mp3/search.html?q=Hush+Hush+Avril+Lavigne

我现在必须处理的网址是:

{$config.siteurl}search.html?q={$tags[row].tag|regex_replace:"/\s+/":"+"|stripslashes} 
4

2 回答 2

1

假设您的输入是之后的一切?q=

s/(^\++|\++$|\+\++|[\(\)]+)//g

在最后一对括号中,您可以放置​​要删除的任何其他字符。

这匹配一个或多个开头的+,一个或多个关闭的+,两个或多个+,或者括号内的一个或多个特殊字符(到目前为止,只是括号)并将其替换为空 - 一个空字符串 - zilch - nada。


我不知道杰克关于 Smarty,但我认为你应该尝试类似

{$config.siteurl}search.html?q={$tags[row].tag|regex_replace:"/(^\++|\++$|\+\++|[\(\)]+)/":""|stripslashes}

我不太确定您是否需要在这里转义括号,所以如果它不起作用,请丢失一些反斜杠。

于 2013-11-08T13:45:10.990 回答
0

href="{$site_url}tests/tests/view/{$test.test_id}/{strtolower($test.test_name|replace:' ':'-'|regex_replace:'/(^++|++$| +++|[()]+)/':'')}">测试

于 2015-02-10T08:02:54.527 回答