Как заменить пробелы на дефисы в URL - PullRequest
0 голосов
/ 23 июля 2010

У меня есть некоторые данные, которые вводятся в базу данных с пробелами.например, имя и фамилия.Затем мне нужно вызвать эти данные из базы данных и отобразить их в виде ссылки, чтобы у меня был удобный URL.Я не уверен, должен ли я сделать это с mod-rewrite или php.Какое лучшее решение?

Решение, подобное приведенному ниже, не работает

str_replace('- ','-',$url);

echo "<p><span class=\"barting\">"."<a href=$url=\"jobs/".$row['jobid']."/".$row['title']."\">".$row['title']."</a></span>";

echo $url

Заранее спасибо за помощь

Ответы [ 4 ]

3 голосов
/ 23 июля 2010

Вы написали

str_replace('- ','-',$url);

Но этот код не заменяет пробелы, для замены пробелов вы должны использовать:

$url = str_replace(' ','-',$url);

или вы можете использовать urlencode

1 голос
/ 23 июля 2010

Попробуйте urlencode ()

urlencode($url)

0 голосов
/ 23 июля 2010

Перезапись URL не обязательна.Похоже, ваша цель состоит в том, чтобы просто создать URL-адрес, который будет выглядеть примерно так:

http://www.example.com/firstname-lastname/jobs/1234567/sometitle

Чтобы заменить только пробелы с дефисами в $ url, попробуйте

str_replace(" ", "-", $url);
0 голосов
/ 23 июля 2010

Возможно, вам следует использовать urlencode (), который превратит пробелы в% 20.Но если вы хотите сделать то, что делаете, вы должны помнить, что str_replace ВОЗВРАЩАЕТ замененную строку, она не изменяет передаваемую вами переменную.

Поэтому вам нужно $ url = str_replace ('','-', $ url);

...