PHP выкарыстоўваць str_replace, зиЬзЬг і StrPos ўсе разам

Тое, што я спрабую зрабіць, гэта пераўтварыць URL з відэа на YouTube/Vimeo вяртае новы URL-адрас, які можа быць ўбудоўваць у IFRAME і аўтаматызаваць відэа ўстаўляць код.

Гэта працуе як шарм.

$url  = "http://vimeo.com/29431603";
$orj_value = array("watch?v=", "http://vimeo.com/");
$new_value   = array("embed/", "http://player.vimeo.com/video/");
$url = str_replace($orj_value, $new_value, $url);
echo $url;

You know, youtube ads an ugly string too into url that starts with &, so when i include

$url = substr($url, 0, strpos($url, "&")); 

перад тым

echo $url;

it strips out the unwanted part of youtube url. But then, vimeo code which has no & inside just does not return anything. Seems after adding new line, code wants to see a & inside the url; otherwise to echo $url var displays blank screen.

2- Для Dailymotion, мне трэба выразаць усе пасля першай _ Як я павінен змяніць радок ніжэй, для таго, каб уключыць падтрымку Dailymotion таксама?

$url = substr($url, 0, strpos($url, "&")); 

Загадзя дзякуй усім, збіраецца адказаць :)

2

1 адказы

Калі StrPos() не можа знайсці сімвал, шукаць будзе вяртаць хлусня, якая можа заблытаць SUBSTR ().

Паспрабуйце што-нешта накшталт гэтага:

$url = strpos($url, "&") ? substr($url, 0, strpos($url, "&")) : $url;

Што тычыцца Вашага каментара:

if(strpos($url, "&")) {
    $url = substr($url, 0, strpos($url, "&"));
} else if(strpos($url, "_")) {
    $url = substr($url, 0, strpos($url, "_"));
}

There are more elegant ways to do it (ex. REGEX) but this will do. Note that & or _ can't be the first character in string if you want to allow this add !== false to the condition.

1
дададзена
Я дадаў трохі падправіць. Вы не можаце выкарыстоўваць гэты ярлык для абазначэння калі-то яшчэ ёсць.
дададзена аўтар Hikaru-Shindo, крыніца
Вам трэба націснуць стрэлку уверх;)
дададзена аўтар Hikaru-Shindo, крыніца
Вы можаце атрымаць рэпутацыю, задаючы пытанні, атрымаць voteups, атрымаць адказ прымаецца і г.д. (гл даведкі для атрымання больш падрабязнай інфармацыі;))
дададзена аўтар Hikaru-Shindo, крыніца
Ён выдатна працуе .. Вялікі дзякуй Хикару :) Гэта збіраецца быць лёгкім Твік для рэдагавання гэтага $ URL = StrPos ($ URL «&»)? падрадок ($ URL, 0, StrPos ($ URL "&")): $ URL; І зрабіць гэта, каб выдаліць што-небудзь пасля таго, як першы і або пасля першага _?
дададзена аўтар Mehmet Yaden, крыніца
Выдатна працуе, дзякуй вялікі Хикару ... Я націснуў на сцяжок, але па нейкай прычыне гэта звычай дазвольце мне перайсці ад 0 да 1 на ваша паведамленне :)
дададзена аўтар Mehmet Yaden, крыніца
Галасаваць за патрабуе 15 рэпутацыі :) што гэта тое, што я атрымліваю кожны раз. я лічу, што гэта таму, што я новы карыстальнік.
дададзена аўтар Mehmet Yaden, крыніца
Дзякуючы Хикару, я вярнуся сюды, каб даць плюс для вашага адказу, як толькі я маю права. Вялікі дзякуй:)
дададзена аўтар Mehmet Yaden, крыніца