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