php
  • string
  • 2015-10-18 7 views 0 likes 
    0

    функция в PHP возвращает меня следующий JS фрагмент кода в строкеИзвлечение HREF из строки яваскрипта

    <script type="text/javascript"> 
    function gformRedirect() 
    { 
        document.location.href='https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com'; 
    } 
    </script> 
    

    Я хочу, чтобы извлечь, HREF из приведенных выше строк

    https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com 
    

    Я попробовал следующее

    $hrefStartIndex = strpos($redirect, 'http'); 
    $hrefEndIndex = strpos($redirect, ';}'); 
    $href = substr($redirect, $hrefStartIndex, $hrefEndIndex); 
    

    Это, кажется, дает некоторые проблемы, и я не уверен, так ли это, как я должен идти, любой указатель на то, как t o идти об этом будет оценено.

    Спасибо,

    +0

    для справки вы наткнуться на запрос JSONP, может выглядеть больше информации таким образом? https://en.wikipedia.org/wiki/JSONP – Ryu

    ответ

    1

    попробовать это:

    $url = "<script type=''text/javascript'> function gformRedirect(){document.location.href='https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com';}</script>"; 
    
    $first_step = explode('document.location.href=' , $url); 
    $second_step = explode(";}" , $first_step[1]); 
    echo $second_step[0]; 
    
    1

    Пожалуйста, не забудьте изменить стартовую позицию, если есть какие-либо изменения в строке.

    <?php 
    $url='<script type="text/javascript"> function gformRedirect(){document.location.href="https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com";}</script>'; 
    
    $url=substr($url,81,strlen($url)); 
    $url=rtrim($url,'";}</script>'); 
    echo $url; 
    ?> 
    
    +0

    он возвращает ': //plamsn.web/fr/demande-de-pret? montant = 400% 24 & email = jon% 40doe.com' –

    +0

    Теперь он отлично работает – Manikiran

    1

    решение с использованием регулярных выражений:

    <?php 
        $url='<script type="text/javascript"> function gformRedirect(){document.location.href="https://plamsn.web/fr/demande-de-pret?montant=400%24&email=jon%40doe.com";}</script>'; 
        preg_match("/http[^\"]*/", $url, $output_array); 
        echo $output_array[0]; 
    ?> 
    
    Смежные вопросы