Search code examples
javascriptphphtmljsonget

PHP code to read a web page's source and get attribute from a tag using PHP


I want to get a specific attribute from a HTML Source using PHP. The code is:

<script id="_ij" nonce="b3COz7vPbqhmCa2Wx6W+qg">window.IJ_values = ['https:\/\/get.google.com',[null,null,"",false,null,null,true,false]
,'0','https:\/\/photos.google.com\/', null ,'boq_photosuiserver_20201215.10_p0','photos.google.com', 0.0 ,'','b3COz7vPbqhmCa2Wx6W+qg','', 2020.0 ,'https:\/\/photos.google.com\/share\/AF1QipP3nfR3TMP9UDpZ43hqDTxHepGih67oqNGkOiu4ET5FJJ3ufsx2TRWuXpwL5iISJw\/photo\/AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz?key\x3dSUlUVHNSdzZoTG41RG5kWGdLLTRYazAwckJLRXBB', null ,'ltr','https:\/\/accounts.google.com\/AccountChooser?continue\x3dhttps:\/\/photos.google.com\/share\/AF1QipP3nfR3TMP9UDpZ43hqDTxHepGih67oqNGkOiu4ET5FJJ3ufsx2TRWuXpwL5iISJw\/photo\/AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz?key%3DSUlUVHNSdzZoTG41RG5kWGdLLTRYazAwckJLRXBB\x26hl\x3den-US','https:\/\/accounts.google.com\/ServiceLogin?service\x3dlh2\x26hl\x3den-US\x26continue\x3dhttps:\/\/photos.google.com\/share\/AF1QipP3nfR3TMP9UDpZ43hqDTxHepGih67oqNGkOiu4ET5FJJ3ufsx2TRWuXpwL5iISJw\/photo\/AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz?key%3DSUlUVHNSdzZoTG41RG5kWGdLLTRYazAwckJLRXBB','https:\/\/accounts.google.com\/SignOutOptions?continue\x3dhttps:\/\/photos.google.com\/share\/AF1QipP3nfR3TMP9UDpZ43hqDTxHepGih67oqNGkOiu4ET5FJJ3ufsx2TRWuXpwL5iISJw\/photo\/AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz?key%3DSUlUVHNSdzZoTG41RG5kWGdLLTRYazAwckJLRXBB','\/up\/?continue\x3dhttps:\/\/photos.google.com\/share\/AF1QipP3nfR3TMP9UDpZ43hqDTxHepGih67oqNGkOiu4ET5FJJ3ufsx2TRWuXpwL5iISJw\/photo\/AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz?key%3DSUlUVHNSdzZoTG41RG5kWGdLLTRYazAwckJLRXBB', null , false , false , false , null ,'en','en-US','en_US', null , null ,'https:\/\/myaccount.google.com\/profile', 1.0 , 3.0 , true ,'AoePsK5zJc9BG7XAcO1XK\/rJnvZc82\/TizCyINBFxLKKmmFD4aJdCKnfz+yuFpmjgrWGw+oaIrsNXXEy7deiwAUAAABWeyJvcmlnaW4iOiJodHRwczovL3Bob3Rvcy5nb29nbGUuY29tOjQ0MyIsImZlYXR1cmUiOiJDb29raWVTdG9yZSIsImV4cGlyeSI6MTYxMTE3Mjk0OX0\x3d', true , false ,'\/apps','https:\/\/plus.google.com', null , false , null ,'https:\/\/payments.google.com', 1.6225056E9 , false , false , false , false ,'6LcQoawUAAAAAGrfMQPSod6kFSMKneCs3bhQuCiX','IN','India', false , false , 90.0 , 2.0 , 5.0 ,'\x5b1\x5d',[null,null,null,[17,1,6,12,14,13]
,6,2,1,2,null,null,1,1,2,null,1,1]
, 30.0 , 4.0 ,'https:\/\/myaccount.google.com\/privacypolicy?hl\x3den-US','https:\/\/lh3.googleusercontent.com\/-XdUIqdMkCWA\/AAAAAAAAAAI\/AAAAAAAAAAA\/4252rscbv5M\/photo.jpg', false , 623.0 ,'https:\/\/myaccount.google.com\/termsofservice?hl\x3den-US','in', null , null , null ,'unknown', null , false , false , false , false , false , false , null ,]; window.IJ_valuesCb && window.IJ_valuesCb();</script><script nonce="b3COz7vPbqhmCa2Wx6W+qg">AF_initDataCallback({key: 'ds:0', isError:  false , hash: '1', data:[["AF1QipPJOUv8bba4k8UE7BH0Rt8IEOvSUwZixVNoaLPz",["https://lh3.googleusercontent.com/XPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA",1280,720,null,[]
,null,[]
,null,null,[0]
]
,1592557234000,"G-HqihCtbvjh5Jf0hPobusvkLqk",19800000,1592720772913,["AF1QipNDA-rstWl0NR2N53AD7IC8OqSy"]
,[[2]
,[31,false,true]
,[36,false,true]
,[8]
,[21]
,[19]
,[22]
]
,2,0,null,null,[]
,null,4163,[]
,{"76647426":[1444400,true,1280,720,["22/1280x720,18/640x360,36/320x180","url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm22\u0026itag\u003d22\u0026type\u003dvideo%2Fmp4%3B+codecs%3D%22avc1.64001F%2C+mp4a.40.2%22\u0026quality\u003dhd720,url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm18\u0026itag\u003d18\u0026type\u003dvideo%2Fmp4%3B+codecs%3D%22avc1.42001E%2C+mp4a.40.2%22\u0026quality\u003dmedium,url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm36\u0026itag\u003d36\u0026type\u003dvideo%2F3gpp%3B+codecs%3D%22mp4v.20.3%2C+mp4a.40.2%22\u0026quality\u003dsmall","https://lh3.googleusercontent.com/XPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA\u003dmm,dash-vm"]
,4]
}]
,"https://video-downloads.googleusercontent.com/AGQNM9JyHNORKCXPqKKQxQYw8RyoSY22v8mitUIUSJvu5jdnmbwSVDnSL8CeUCyndvDN_BJgIYZJbcIOYiwCbL1075AAlmsBTaiuz3_bfvlqDYmetmBjSZROeZQsII0LpkuOyJJNvVnXbdH0nIGT2QFW1kD_DhKqUFApioZIRTtkQ6o1jPj3y9qvruu_pJvh5HZZJ2OZaiKUTof0kX7WAhBGnJ92zUG8vhQ_EobM3mibLANt7QKQWRw",[[2]
,[31,false,true]
,[36,false,true]
,[8]
,[21]
,[19]
,[22]
]
,["AF1QipNDA-rstWl0NR2N53AD7IC8OqSy","116453400182932691780",null,"https://lh3.googleusercontent.com/ajNnQE9NqpZ8UEuFVcOWuGgWIIh2kvqDWqe0iwFIOmpTGiGCITIphiI-XpwkpAfkw9DQw_V2qPSeK7zMlsC83AG3cjm3nR7mL_lqOaOkKA",null,["AF1QipNDA-rstWl0NR2N53AD7IC8OqSy","116453400182932691780"]
,null,null,null,null,null,null,["https://lh3.googleusercontent.com/a/AATXAJzVcFk-ygfYoceAb2P0_3sAiaY5xGMjiMqyp2E"]
,null,null,null,[]
,[2]
]
,null,null,null,null,null,null,"",null,"https://lh3.googleusercontent.com/pw/ACtC-3epLIybfcD4wv_Su-sUdjeMmikkBmBcDxTsj6MMmWZ8kbe-I84awxM3oIpwEPncq1YDJfRGjHmtI6J38bycjCbuwQDKqxs2arosx_ueEf6BnLQtBJYG6NgCELzMOOaoJAf-ES57pG3v3B_xRztzeG1d",{"79468658":[[[1444.4,"22/1280x720,18/640x360,36/320x180","url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm22\u0026itag\u003d22\u0026type\u003dvideo%2Fmp4%3B+codecs%3D%22avc1.64001F%2C+mp4a.40.2%22\u0026quality\u003dhd720,url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm18\u0026itag\u003d18\u0026type\u003dvideo%2Fmp4%3B+codecs%3D%22avc1.42001E%2C+mp4a.40.2%22\u0026quality\u003dmedium,url\u003dhttps%3A%2F%2Flh3.googleusercontent.com%2FXPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA%3Dm36\u0026itag\u003d36\u0026type\u003dvideo%2F3gpp%3B+codecs%3D%22mp4v.20.3%2C+mp4a.40.2%22\u0026quality\u003dsmall","https://lh3.googleusercontent.com/XPYgxFbpSO1V6lMePewWTvkzPsNHzCCNcfqxrgxcaOZmCPrHzPzyOZttQM5jjFJTt6p5od_V-vft4zB8Yf9aw4VE3tDInmwGSpzyq6sqkYayy1YRz92StvX7GmFztDYfmHD4lrd_lA\u003dmm,dash-vm",false]
,1280,720]
]
,"131657093":[null,0,null,5]
}]
, sideChannel: {}});</script>

The attribute I am looking for is:

https://video-downloads.googleusercontent.com/AGQNM9JyHNORKCXPqKKQxQYw8RyoSY22v8mitUIUSJvu5jdnmbwSVDnSL8CeUCyndvDN_BJgIYZJbcIOYiwCbL1075AAlmsBTaiuz3_bfvlqDYmetmBjSZROeZQsII0LpkuOyJJNvVnXbdH0nIGT2QFW1kD_DhKqUFApioZIRTtkQ6o1jPj3y9qvruu_pJvh5HZZJ2OZaiKUTof0kX7WAhBGnJ92zUG8vhQ_EobM3mibLANt7QKQWRw

I want to know how can we grab this code from above HTML Source using PHP. Like how can I echo this specific attribute from HTML Source from a URL inside PHP. Hope I am not asking too much. Any help would be really appreciated. Thanks in Advance!


Solution

  • To grab a source from a URL use https://www.php.net/manual/en/function.file.php, this will grab the source from a certain page.

    Then use https://www.php.net/preg_match/ to match the exact text you want to extract using regular expressions.

    <?php
    $htmlCode = file_get_contents('YOUR WEBSITE URL HERE');
    preg_match_all('/(https:\/\/video-downloads\.googleusercontent\.com\/.*\")/', $htmlCode, $output_array);
    var_dump($output_array); // You can access the output here