Вы неправильно понимаете, как str_replace()
и строки в целом работают в PHP.
попробуйте это:
<?php
$v = 'bla bla';
$j = 2;
$urlTemplate = 'http://www.youtube.com/watch?v=%x%&list=blabla&index=%j%&feature=plpp_video';
$h = str_replace(array('%x%','%j%'), array($v,$j++), $urlTemplate);
echo file_get_contents($h);
Когда выПоместите переменную в строку, она оценивается во время анализа строки - во время присваивания.То, что вы сделали, не будет работать, поскольку строка будет иметь значение http://www.youtube.com/watch?v=&list=blabla&index=2++&feature=plpp_video
.
Переменные в строке не создают ссылку на переменную, они просто используют текущее значение.
Приведенный выше код использует заполнители %x%
и %j%
и заменяет их фактическими значениями, которые вы хотите использовать.