0

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); ?>">

string$item->titleには、文字ではなくスペースがまだ含まれています+

それが、私が上で述べたアプローチを使いたかった方法です。

4

0 に答える 0