str_replace со случайными значениями? - PullRequest
0 голосов
/ 06 ноября 2011

У меня есть следующий код:

    $embed_url = str_replace('<iframe width="512" height="288" frameborder="0" scrolling="no" src="', '', $embed_url);
    $embed_url = str_replace('"></iframe>', '', $embed_url);

Что происходит, если ширина и высота iframe не являются фиксированными значениями, поэтому они могут быть любыми другими числами.

Как это сделатьработает для любой ширины / высоты?

Спасибо.

Редактировать: Что я пытаюсь получить, это значение src.

Ответы [ 3 ]

2 голосов
/ 06 ноября 2011

Вы можете использовать регулярное выражение:

$embed_url = preg_replace('/<iframe width=".*?" height=".*?" frameborder="0" scrolling="no" src="/', '', $embed_url);

Если все, что вам нужно, это получить значение src, вы можете использовать preg_match() вместо:

if (preg_match('/<iframe.*?src="(.+?)"/ms', $embed_url, $matches)) {
    $src = $matches[1];
}
1 голос
/ 06 ноября 2011

Вы бы использовали

$embed_url = preg_replace('!<iframe width="[0-9]+?" height="[0-9]+?" frameborder="0" scrolling="no" src="!','',$embed_content);
0 голосов
/ 06 ноября 2011

Вместо использования str_replace, просто используйте встроенную подстановку значений, чтобы:

$width = '512';
$height = '288';

$iframe = '<iframe width="$width" height="$height" frameborder="0" scrolling="no" src="$embed_url"></iframe>';

HTH.

...