gustovskiy
@gustovskiy

Как вытащить переменную в js через парсер на php?

сделал парсер на Simple Html Doom. Вот таким кодом отловил js
foreach ($item->find('script') as $link) {
	echo $link;
}

<script>var RB_RID = 'recordrock'; var RB_GENRE = 'rock'; var RB_LINK = 'http://air2.radiorecord.ru:805/rock_320'; var RB_TITLE = "Record Rock Radio";</script><script async src="https://www.radiobells.com/js/embed.js" charset="UTF-8"></script>

мне нужно вытащить из js ссылку с переменной
var RB_LINK = 'link'
подскажите как это сделать
  • Вопрос задан
  • 554 просмотра
Пригласить эксперта
Ответы на вопрос 3
@MadridianFox
Web-программист, многостаночник
Регуляркой)
Ответ написан
@Fear1
$str = "<script>var RB_RID = 'recordrock'; var RB_GENRE = 'rock'; var RB_LINK = 'http://air2.radiorecord.ru:805/rock_320'; var RB_TITLE = \"Record Rock Radio\";</script><script async src=\"https://www.radiobells.com/js/embed.js\" charset=\"UTF-8\"></script>";

preg_match('/RB_LINK.*\'(.*)\'/', $str, $res);
echo $res[1]; // ваша ссылка


1. Ищем RB_LINK RB_LINK
2. После RB_LINK идет любое количество любых символов, кроме перевода строки .*
3. В подмаске, которая находится между одинарных кавычек, ищем любое количество любых символов.\'(.*)\'

4. В переменную $res получаем массив, где [1] элемент является первой подмаской.
Ответ написан
Комментировать
gustovskiy
@gustovskiy Автор вопроса
сделал по проще
$link = substr($link, strpos($link, ' RB_LINK = ')+12);
$link = substr($link, 0, strpos($link, "'"));

Спасибо всем за помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы