
Get content from web URL in laravel
Get content from web URL in laravel
With this article, we will examine several different instances of how to solve the "Get content from web URL in laravel".
You can get the content from a web URL in laravel. You can get all the meta tags within and all the html tags within tag and get the content of these tags and pass them to variables and return as output.-
Get title, description and image from meta tags using website url in laravel
--PATH routes\web.phpRoute::get('/get-content-url', function(){ $url = 'https://oscarliang.com/'; $resp = []; $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); curl_close($ch); // Load HTML to DOM Object $dom = new DOMDocument(); @$dom->loadHTML($data); // Parse DOM to get Title $nodes = $dom->getElementsByTagName('title'); $title = ''; if($nodes->length > 0){ $title = $nodes->item(0)->nodeValue; } // Parse DOM to get Meta Description $metas = $dom->getElementsByTagName('meta'); $body = ""; $imageURL = ""; for ($i = 0; $i < $metas->length; $i ++) { $meta = $metas->item($i); if ($meta->getAttribute('name') == 'Description' || $meta->getAttribute('name') == 'description') { $body = $meta->getAttribute('content'); } if ($meta->getAttribute('property') == 'og:image:url') { $imageURL = $meta->getAttribute('content'); }elseif($meta->getAttribute('property') == 'og:image'){ $imageURL = $meta->getAttribute('content'); } } $images = $dom->getElementsByTagName('img'); if(!isset($imageURL) && $images->length > 0){ $imageURL = $images->item(0)->getAttribute('src'); } $output = array( 'title' => $title, 'image_url' => $imageURL, 'body' => preg_replace('/[^\00-\255]+/u', '', $body) ); return $output; });
Output :
{"title":"Oscar Liang - FPV Drone Tutorials and Reviews",
"image_url":"https:\/\/oscarliang.com\/ctt\/uploads\/2021\/03\/oscarliang-fpv-drone-tutorial-review-blog-quadcopter-rc.jpg",
"body":"FPV Drone Tutorials and Reviews, a blog for RC hobbyists to get latest information about quadcopter
and multirotor products and technology development, delivered to you by Oscar Liang."}This code snippet will return the title, description and image url from meta tags of the web page. If image does not exist with the meta property og:image and og:image:url within meta tags then it will get the first image from inside of the body tag of the web page.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
Don't forget to share this article! Help us spread the word by clicking the share button below.
We appreciate your support and are committed to providing you valuable and informative content.
We are thankful for your never ending support.
Random Code Snippet Queries: Laravel
- How to get specific columns using with method in laravel Eloquent relationship
- How to create pivot table in laravel using migration
- Insert Comma Separated Values in laravel
- Import/Use Storage facade in laravel
- Count all and get 10 records after where condition in laravel
- How to upload files to amazon s3 bucket using Laravel
- Laravel pagination links with query string
- How to add a key value pair to existing array in laravel
- How to restore deleted records in laravel
- Display data in table using foreach in Laravel
- Store logged in user details in session and display in view in laravel
- How to add columns in existing table using migration in laravel
- Check if Relationship Method Exists in Laravel
- Route prefix with auth middleware in laravel
- Create model with migration and seeder
- Get 30 days older records from table in laravel
- How to check data inserted or deleted in pivot after toggle method
- Get Array of IDs from Eloquent Collection
- Run artisan command to generate key in laravel
- How to run a specific seeder class in laravel
- Retrieve count of nested relationship data in Laravel
- Rename Pivot Table in Laravel
- Add class to body in laravel view
- How to get date from created_at field in laravel
- Method Illuminate\Events\Dispatcher::fire does not exist