При определен линк да се изпълнява replace?

streleca_stz

Registered
Здравейте! Искам да ви попитам как мога от текс в който има линк например към ютюб да преработва линка и на негово място да се появява плеъра..? По принцип знам как се прави с bbcodes тагове, но в случая няма и искам да ви попитам дали е възможно да се направи...? Или пък ако някой е постнал линк към страница да се показва с хипервръзка..?
 
това от линк към ембед ще стане лесно .. :)

имаш линка например ...

Код:
$text = \\\"Някакъв дълъг текст , който потребителя е написал и вътре е написал примерноо .. Вижте моят клип от youtube  ето ви линк .. ->  http://youtube.com/watch?v=6Zx39v3JUUI\\\";

$link = explode(\\\"http://youtube.com/watch?v=\\\",$text); // взимаме символите след  watch?v= ... 

$text = str_replace(\\\'http://youtube.com/watch?v=\\\'.$link[1].\\\'\\\', \\\'<iframe width=\\\"480\\\" height=\\\"360\\\" src=\\\"http://www.youtube.com/embed/\\\'.$link[1].\\\'\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\\\',$text); // заменяме самия УРЛ със ембеда и поставяме символите .. 
echo $text ; // и накрая извеждаме текста ..   с заменения код ..

п.с: Премахни опратно наклонените черти , браузара ми ги ескейпва .. иначе това е кода . .:)
 
M1tq96 каза:
това от линк към ембед ще стане лесно .. :)

имаш линка например ...

Код:
$text = \\"Някакъв дълъг текст , който потребителя е написал и вътре е написал примерноо .. Вижте моят клип от youtube  ето ви линк .. ->  http://youtube.com/watch?v=6Zx39v3JUUI\\";

$link = explode(\\"http://youtube.com/watch?v=\\",$text); // взимаме символите след  watch?v= ... 

$text = str_replace(\\\'http://youtube.com/watch?v=\\\'.$link[1].\\\'\\\', \\\'<iframe width=\\"480\\" height=\\"360\\" src=\\"http://www.youtube.com/embed/\\\'.$link[1].\\\'\\" frameborder=\\"0\\" allowfullscreen></iframe>\\\',$text); // заменяме самия УРЛ със ембеда и поставяме символите .. 
echo $text ; // и накрая извеждаме текста ..   с заменения код ..

п.с: Премахни опратно наклонените черти , браузара ми ги ескейпва .. иначе това е кода . .:)

По принцип така работи, но ако има текст след 6Zx39v3JUUI се прецаква както и ако e например http://www.youtube.com/watch?feature=player_embedded&v=..?
 
Ето така

PHP:
$text = preg_replace("/(.*)youtube.com\/watch\?(.*)/Usi", "<object width=\"425\" height=\"344\"><param name=\"movie\" value=\"http://www.youtube.com/\\2&hl=de&fs=1\"></param><param name=\"allowFullScreen\" value=\"true\"></param><embed src=\"http://www.youtube.com/\\2&hl=de&fs=1\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" width=\"425\" height=\"344\"></embed></object>", $text);
 
Radko каза:
Ето така

PHP:
$text = preg_replace("/(.*)youtube.com\/watch\?(.*)/Usi", "<object width="425" height="344"><param name="movie" value="http://www.youtube.com/\\2&hl=de&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/\\2&hl=de&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>", $text);

Ммм аз ползвам плеъра им през фрейм и го направих така, но ми показва плеъра и под него feature=player_embedded&v=/v= ...?
PHP:
$text=preg_replace("/(.*)youtube.com\/watch\?(.*)/Usi", "<iframe title="YouTube video player" class="youtube-player" type="text/html" width="515" height="360" src="http://www.youtube.com/embed/\\2&hl=de&fs=1" frameborder="0" allowFullScreen></iframe>", $text);
 
streleca_stz каза:
Radko каза:
Ето така

PHP:
$text = preg_replace("/(.*)youtube.com\/watch\?(.*)/Usi", "<object width="425" height="344"><param name="movie" value="http://www.youtube.com/\\2&hl=de&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/\\2&hl=de&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>", $text);

Ммм аз ползвам плеъра им през фрейм и го направих така, но ми показва плеъра и под него feature=player_embedded&v=/v= ...?
PHP:
$text=preg_replace("/(.*)youtube.com\/watch\?(.*)/Usi", "<iframe title="YouTube video player" class="youtube-player" type="text/html" width="515" height="360" src="http://www.youtube.com/embed/\\2&hl=de&fs=1" frameborder="0" allowFullScreen></iframe>", $text);

Никой ли няма идея защо става така? :cry:
 

Горе