PHP言語を使用してURL内のすべてのスペースと特殊記号をダッシュ​​に置き換える 質問する

PHP言語を使用してURL内のすべてのスペースと特殊記号をダッシュ​​に置き換える 質問する

PHP でスペースとダッシュが一緒に表示され、ダッシュのみが表示される場合、それらを置き換えるにはどうすればよいでしょうか?

例えば以下は私のURLです

http://kjd.case.150/1 BHK+Balcony- 700+ sqft. spacious apartmetn Bandra Wes

ここでは、PHP ですべての特殊文字をダッシュ​​に置き換えます。URL では、「balcony」の後にすでに 1 つのダッシュがあります。ダッシュを特殊文字に置き換えると、URL にはすでに 1 つのダッシュがあり、必要なのは 1 つのダッシュだけなので、ダッシュは 2 つになります。

ベストアンサー1

おそらく、別の方法が必要でしょう。「スペース」ではなく、英数字以外のすべての文字です。URL では許可されていない他の文字がある可能性があるためです (たとえば、スペースの代わりとして使用される + 記号)

したがって、自由形式のテキストから有効なURLを作成するには

$url = preg_replace("![^a-z0-9]+!i", "-", $url);

おすすめ記事