javascript and php

Discussion in 'PHP' started by Drug121, 6 Jan 2012.

  1. Drug121

    Drug121 Banned

    Joined:
    20 Mar 2011
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    читаю средствами php веб страницу. Присваиваю содержимое страницы, переменной А.

    а вот как бы передать или присвоить переменной в коде javascript значение переменной А (взятой из php)?
     
    #1 Drug121, 6 Jan 2012
    Last edited: 6 Jan 2012
  2. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    <script> a = '<?php echo(str_replace("'", "\\'", $a)); ?>'; </script>
     
  3. Drug121

    Drug121 Banned

    Joined:
    20 Mar 2011
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    выводит страницу. такое не подходит
     
  4. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    куда выводит?
    HTML:
    <script>
    var a='<?=base64_encode($a)?>';
    </script>
    достать оригинал из var a можно через atob()
     
  5. Drug121

    Drug121 Banned

    Joined:
    20 Mar 2011
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    выводит в браузер.
    чак, а если по твоему способу делать. То можно выполнять какие либо действия с содержимом переменной. Например replace
     
  6. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    atob() -> replace() -> btoa() -> ok.

    но лучше делай replace до того как выводишь в js. так проще. и покажи код. не понимаю почему у тебя содержимое само выводится на страницу.
     
    #6 Чакэ, 6 Jan 2012
    Last edited: 6 Jan 2012
  7. Drug121

    Drug121 Banned

    Joined:
    20 Mar 2011
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0

    <?php $a=file_get_contents("http://vkontakte.ru/"); ?>
    <script>
    var a='<?php echo $a ?>';
    </script>
     
  8. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    <?php $a=file_get_contents("http://vkontakte.ru/"); ?>
    <script>
    var a='<?=base64_encode($a)?>';
    var b=atob(a).replace('что','на что');
    document.write(b) // вывод
    </script>
     
  9. Drug121

    Drug121 Banned

    Joined:
    20 Mar 2011
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    Чак.вы мой спаситель. Но подскажите. что с кодировкой делать? сплошная абра кодабра
     
  10. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    да, действительно btoa с кодировкой лажает. нужно костыли искать. гуглите base64 js
     
  11. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    кушать подано, садитесь жрать, пожалуйста!
    PHP:
    function base64_encodedata ) {

        var 
    b64 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var 
    o1o2o3h1h2h3h4bitsi=0enc='';

        do { 
    // pack three octets into four hexets
            
    o1 data.charCodeAt(i++);
            
    o2 data.charCodeAt(i++);
            
    o3 data.charCodeAt(i++);

            
    bits o1<<16 o2<<o3;

            
    h1 bits>>18 0x3f;
            
    h2 bits>>12 0x3f;
            
    h3 bits>>0x3f;
            
    h4 bits 0x3f;

            
    // use hexets to index into b64, and append result to encoded string
            
    enc += b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
        } while (
    data.length);

        switch( 
    data.length ){
            case 
    1:
                
    enc enc.slice(0, -2) + '==';
            break;
            case 
    2:
                
    enc enc.slice(0, -1) + '=';
            break;
        }

        return 
    enc;
    }

     
  12. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    <html>
    <head>
    </head>
    <body>
    <script>
    <?
    $a = str_replace("'", "\'", file_get_contents("http://ya.ru"));
    $a = str_replace("-->", "", $a);
    echo "var a = '". $a ."';";
    echo "alert(a)";
    ?>
    </script>
    </body>
    </html>
    Возможно \n (перенос строки) будут мешаться, их тогда тоже надо будет убрать. Хотя точно не знаю, для чего это всё нужно.

    Зы. ну или делать с декодированием.