как изменить строку в php?

php

#php

Вопрос:

например:

$url=http://www.example.com/ .

как сделать $url в этом стиле.

http://test.google.com/example.com в php?

Ответ №1:

Ответ №2:

 $url_parts=parse_url($url);

echo $url="http://test.google.com/".str_replace('www.','',$url_parts['host']);
 

Комментарии:

1. Черт, я явно сделал слишком много, чем нужно!

2. если URL-адрес test.google.com/example.com . могу ли я по-прежнему получать результат как this.test.google.com/example.com

3. @zhuanzhou: Тогда вам вообще не нужно преобразование. Проверьте хост перед применением диалога, если он есть test.google.com . вам не нужно преобразование.

4. но я должен ее проверить? это вводится редактором. как проверить, имеет ли test.google.com в URL-адресе?

5. после подачи заявки parse_url вы можете if ($url_parts['host'] == 'test.google.com')

Ответ №3:

 $url = "http://www.example.com";

$Step1 = str_replace(array("http://", "https://", "www."), "", $url);
$Step2 = explode("/", $Step1);
$newUrl = "http://test.google.com/".$Step2[0];
 

В основном, что я сделал, это заменил любые http://, https:// и www. strings из URL $url -адреса и заменил их пустой строкой. Затем я разбиваю результат этой замены на символ ‘/’, потому что там может быть указан URL, http://www.test.com/mydir/ поэтому мы теряем mydir. Если это вам не нужно, пропустите шаг 2 и замените $Step2[0] на $Step1 в последней строке.

В этой последней строке добавляется URL-адрес, который вы хотите ввести $newUrl

Ответ №4:

Попробуйте это:

 $url = "http://www.example.com/";
$url = preg_replace("/(?:http://)?(?:www.)?([a-zd-.] )/.*/", "http://test.google.com/$1", $url);
 

Комментарии:

1. Пожалуйста, опубликуйте свой ответ здесь, а не просто ссылайтесь на какой-то сайт XYZ

2. Извините, я только новичок в stackoverflow и изучаю только синтаксис кода