使用explode,preg_replace和urlencode生成URL

时间:2013-05-07 08:30:19

标签: php preg-replace urlencode explode

我正在尝试使用PHP构建URL,URL包含非拉丁字符(斯洛文尼亚语č,š和ž)。
我遇到了一些问题,因为我还需要用+替换空格,并对非拉丁字符进行编码。

我需要做的是将此字符串'Knjižnica Bežigrad'更改为:'Knji%C5%BEnica+Be%C5%BEigrad'。因此,+字符不得编码。

我试图爆炸字符串中的每个单词(字符串也可以有超过2个单词),然后执行preg_replace(+代替空格),最后urlencode每个单词(但不是+字符。

我没有设法将这种方法置于工作状态,也许还有更好的方法吗?

补充说明:

如果我像

那样回应这个字符串
<?php echo $item->title; ?> 

我得到了值'Knjižnica+Bežigrad'

如果我像这样回应

<?php echo urlencode($item->title); ?>

我得到的值'Knji%C5%BEnica+Be%C5%BEigrad'正是我所需要的。

但是当我像这样构建URL

<a href="index.php&searchword=<?php echo urlencode($item->title); ?>">

字符串$item->title仍然包含空格而不是+字符。

这就是我想要使用上面提到的方法。

0 个答案:

没有答案