0

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

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

我试图分解字符串中的每个单词(字符串也可以有两个以上的单词),然后做一个 do a 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); ?>">

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

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

4

0 回答 0