2014-12-16 8 views
0

У меня есть следующий ответ от запроса PHP локон:Извлечение URL из локонов ответа

function ___QBy1sZI() { 
    YmI = 5849562624174926"; 
    kNO = "http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar"; 
    output = ""; 
    for(i=0; i<YmI.length; i+=2){ 
    output = output + String.fromCharCode((128+ (parseInt("0x"+YmI.substr(i, 2)) -   kNO.charCodeAt(0))) % 128); 
} 
return output; 
} 

Я хочу, чтобы извлечь URL из ответа:

http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar

Может кто-нибудь сказать мне, что будет лучший путь? Я использовал preg_match, но кажется медленным.

+1

ли блок кода вы выложили Curl ответ? И вы хотите извлечь URL из этого блока кода? Вы должны сделать вопрос более ясным. –

+0

да !! код curl responce .... –

+0

Можете ли вы показать свое регулярное выражение для предварительного матча? – newman

ответ

0

Если вы говорите, что preg_match() является «медленным», я могу только представить, что вы ошибочно использовали его.

Попробуйте следующую закономерность:

/kNO = "(.*)";/ 

Matching группы [1] будет содержать адрес.

Пример:

$string = <<<EOF 
function ___QBy1sZI() { 
    YmI = 5849562624174926"; 
    kNO = "http://download2.website.com/ce0zbkpbzmzg/2g7xednxqx4m11f/blabla.rar"; 
    output = ""; 
    for(i=0; i<YmI.length; i+=2){ 
    output = output + String.fromCharCode((128+ (parseInt("0x"+YmI.substr(i, 2)) -   kNO.charCodeAt(0))) % 128); 
} 
return output; 
} 
EOF; 

preg_match('/kNO = "(.*)";/', $string, $matches); 
echo $matches[1]; 
+0

curl return 87kb data a it takes up to 5 second –

+0

Вы писали: «Я получил следующий ответ от завитка». Вот почему я думал, что ты показал полный ответ. Как организована реакция? Можете ли вы, например, сказать: «Интересная часть находится между строками 10 и 20» (или что-то в этом роде) – hek2mgl

Смежные вопросы