читаю средствами php веб страницу. Присваиваю содержимое страницы, переменной А. а вот как бы передать или присвоить переменной в коде javascript значение переменной А (взятой из php)?
куда выводит? HTML: <script> var a='<?=base64_encode($a)?>'; </script> достать оригинал из var a можно через atob()
выводит в браузер. чак, а если по твоему способу делать. То можно выполнять какие либо действия с содержимом переменной. Например replace
atob() -> replace() -> btoa() -> ok. но лучше делай replace до того как выводишь в js. так проще. и покажи код. не понимаю почему у тебя содержимое само выводится на страницу.
<?php $a=file_get_contents("http://vkontakte.ru/"); ?> <script> var a='<?=base64_encode($a)?>'; var b=atob(a).replace('что','на что'); document.write(b) // вывод </script>
кушать подано, садитесь жрать, пожалуйста! PHP: function base64_encode( data ) { var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc=''; do { // pack three octets into four hexets o1 = data.charCodeAt(i++); o2 = data.charCodeAt(i++); o3 = data.charCodeAt(i++); bits = o1<<16 | o2<<8 | o3; h1 = bits>>18 & 0x3f; h2 = bits>>12 & 0x3f; h3 = bits>>6 & 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 (i < data.length); switch( data.length % 3 ){ case 1: enc = enc.slice(0, -2) + '=='; break; case 2: enc = enc.slice(0, -1) + '='; break; } return enc; }
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 (перенос строки) будут мешаться, их тогда тоже надо будет убрать. Хотя точно не знаю, для чего это всё нужно. Зы. ну или делать с декодированием.