2016-10-13 4 views
0

Я новичок в php. Мне очень нужна ваша помощь, чтобы написать функцию для преобразования ниже URLPHP Функция для преобразования URL

От первоначально URL: http://www.domain.com/blahblah/**ID**/**FileName**.html

Для нового URL http://statics.domain.com/download/**ID**/**Filename**.mp4

Я хочу, чтобы получить ID и файла в новом URL. Может ли кто-нибудь помочь мне сделать это?

+0

Действительно ли это для всех URL-адресов? ** 'http: //www.domain.com/blahblah/'**? –

+0

Да, он одинаковый для всех URL-адресов –

+0

Добро пожаловать в SO. Пожалуйста, посмотрите [тур] (http://stackoverflow.com/tour). Вы также можете проверить [Какие темы я могу задать] (http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос] (http://stackoverflow.com/help/ как задавать вопросы), и [Идеальный вопрос] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) и как создать [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). Отправьте код, который вы попробовали, и полученные вами ошибки. Будьте как можно более конкретными, так как это приведет к лучшим ответам. –

ответ

0

грязный способ, который работает:

$url = "http://www.domain.com/blahblah/ID/FileName.html"; 
$replace = array("http://www.domain.com/blahblah/", ".html"); 
$by = array("http://statics.domain.com/download/", ".mp4"); 


$newurl = str_replace($replace, $by, $url); 

Это basicaly заменить то, что вы хотите, ... то, что вы хотите. Но ничего больше, и я уверен, что лучший ответ - это техническая написание. ;)

+0

Спасибо за ваш ответ, как насчет идентификатора и имени файла? –

+0

Вы можете указать идентификатор и FILENAME внутри переменной $ url. Функция STR_REPLACE просто заменяет написанное, а другой - там, где есть. – OverSu

+0

Я использую это, я думаю, это просто: 'функция converturl ($ URL) { \t если (preg_match ('/.* domain.com \ /.* \/(*) \/(.? . *). html/is ', $ url, $ id)) { \t \t $ newurl =' http://statics.domain.com/download/'.$id[1].'/'.$id . [2] 'mp4'; \t} else { \t \t $ newurl = 'URL-адрес не поддерживается'; \t} \t return $ result; } ' –

0

Взломанный способ: explode() строка / и взять последние два элемента массива. Второй последний элемент будет ID, где в качестве последнего элемента будет filename.

Вам необходимо будет выполнить substr() на имя файла, чтобы удалить последние .html символов из строки.

Вот как вы это делаете.

<?php 

$url="http://www.domain.com/blahblah/ID/FileName.html"; 
$parts=explode("/",$url); 
$totalparts=sizeof($parts); 

$id=$parts[$totalparts-2]; 
$filename=substr($parts[$totalparts-1], 0, -5); 

Демо: https://eval.in/659950

0

решаемая. Это просто и работает.

function converturl($url){ 
    if(preg_match('/.*domain.com\/.*\/(.*?)\/(.*).html/is', $url, $id)){ 
     $newurl = 'http://static.domain.com/download/'.$id[1].'/'.$id[2].'.mp4'; 
    }else{ 
     $newurl = 'URL is not support'; 
    } 
    return $newurl; 
} 
Смежные вопросы