Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как откорректировать код замены тега iframe приведенный в теме?

Как откорректировать код замены тега iframe приведенный в теме?


     11.08.2015    Общие вопросы по PHP, Ламерские вопросы    2163

вопрос
Есть код такой php код
if (preg_match("/<iframe.*? src=['\"]?([a-z0-9:_\.\/%=\?\&-]+)['\"]?.*?>.*?<\/iframe>/si", $str, $arr))

он выдергивает с кода iframe такого вида
<iframe src="http://ani...ua/video/76a31406d93289b0/iframe" width="610" height="370" frameborder="0" allowfullscreen></iframe>

ссылку, которая заключена в "", тоесть
http://ani...ua/video/76a31406d93289b0/iframe

Цель вопроса такова, как мне переделать код, чтобы он помимо выдергивания ссылки обрезал с неё часть /iframe и оставлял следующее
http://ani...ua/video/76a31406d93289b0

После тщетных попыток обращаюсь к вам, знатоки.

Ответа пока нет


5 комментариев

vitnet
PHP-developer

vitnet - 12 августа 2015 11:20 -

<?php

$arr = array();
$str = '<iframe src="http://site.ru/video/76a31406d93289b0/iframe" width="610" height="370" frameborder="0" allowfullscreen></iframe>';

if( preg_match("/<iframe.*? src=['\"]?([a-z0-9:_\.\/%=\?\&-]+)['\"]?.*?>.*?<\/iframe>/si", $str, $arr) )

echo  '<pre>' . print_r(str_replace('/iframe', '', $arr[1]), true) . '</pre>';

?>

DomiTori
Юзер

DomiTori - 12 августа 2015 13:03 -

спасибо за ответ. Попробовал втыкнуть к себе, у меня немного другой код вывода спарсенной ссылки. может сможете под него помоч переделать
if (preg_match("/<iframe.*? src=['\"]?([a-z0-9:_\.\/%=\?\&-]+)['\"]?.*?>.*?<\/iframe>/si", $str, $arr)) {
                return "ifr::".$arr[1]; // ifr::ссылка-источник iframe
            }

Этот код возвращает мне ссылку вида
ifr::http://ani...ua/video/76a31406d93289b0/iframe

Мне нужно чтобы вырезало часть /iframe и вместо нее вставило в конец ссылки /manifest.f4m
И получалось так
ifr::http://ani...ua/video/76a31406d93289b0/manifest.f4m

vitnet
PHP-developer

vitnet - 12 августа 2015 13:12 -

                return "ifr::" . str_replace("/iframe", "/manifest.f4m", $arr[1]); // ifr::ссылка-источник iframe

DomiTori
Юзер

DomiTori - 12 августа 2015 14:22 -

спасибо огроменное. все заработало как нада. извиняюсь за наглось, а как допутим в код
if (preg_match("/<iframe.*? src=['\"]?([a-z0-9:_\.\/%=\?\&-]+)['\"]?.*?>.*?<\/iframe>/si", $str, $arr))

поставить проверку на сайт, тоесть если в коде айфрейм содержится домен site.pp.ua, return.........

LazyDev
PHP-developer

LazyDev - 12 августа 2015 14:36 -

if ( substr_count( $arr[1], 'site.ru' ) > 0 ) 

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх