Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как откорректировать код замены тега iframe приведенный в теме?

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


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

вопрос
Есть код такой 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
218

2171 | 930

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
8

132 | 21

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
218

2171 | 930

vitnet - 12 августа 2015 13:12 - Эксперт

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

DomiTori
8

132 | 21

DomiTori - 12 августа 2015 14:22 - Юзер

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

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

Gameer
224

1120 | 394

Gameer - 12 августа 2015 14:36 - Эксперт

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

Истина в противоречии.​

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

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