HEX
Server: Apache
System: Linux digivps 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 x86_64
User: root (0)
PHP: 8.3.15
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/healthyton.com/wp-scrap/spinbot_get_medicalnews.php
<?php
require 'vendor/autoload.php';
use Goutte\Client;

function strip_tags_blacklist($html, $tags) {
    $html = preg_replace('/<'. $tags .'\b[^>]*>(.*?)<\/'. $tags .'>/is', "", $html);
    return $html;
}

$url = 'https://www.medicalnewstoday.com/articles/324376.php';
if(isset($_GET['url'])){
    $url = $_GET['url'];
}
$client = new Client();
$crawler = $client->request('GET', $url);

$content = $crawler->filter('.article_body div')->html();
//echo $content;exit;
//$process_content = strip_tags_blacklist($content,'div');
$process_content = strip_tags_blacklist($content,'header');
$process_content = strip_tags_blacklist($process_content,'center');
$process_content = strip_tags_blacklist($process_content,'style');
$process_content = strip_tags_blacklist($process_content,'img');
$process_content = strip_tags_blacklist($process_content,'a');
$textToSpin = trim($process_content);
//print_r($textToSpin);exit;

//$descriptions = $crawler->filter('.td-post-content p,.td-post-content > h2')->each(function($node) {
//    return $node->xpath();
//    return $node->text();
//});
//print_r($descriptions);
//print_r($content);exit;

//exit;

echo '<div style="width:45%;float:left;">';
//$textToSpin = file_get_contents('spin.txt');
//echo $textToSpin;exit;
echo '<h3><u>Original Text:</u></h3> <br/>'. $textToSpin;

echo '</div>';

echo '<div style="width:50%;float:right;">';

$url = 'https://api.spinbot.com';
$header = array();
// Required header:
$spinbotApiKey = '87b0d1bb9b3c420381ee141837cbc7f5';
$header[] = "x-auth-key:$spinbotApiKey";

// optional header values
$header[] = 'x-spin-cap-words:true';
$header[] = 'x-words-to-skip:rewrit,nonExistentWordPart';
$header[] = 'x-min-percent-change-per-sentence:any';
//$header[] = 'x-action:getavailablespins';

// Execute cURL request, get response
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $textToSpin);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$response = curl_exec($ch);
curl_close($ch);

// Make the response readable
list($strResponseHeaders, $strResponseBody) = explode("\r\n\r\n", $response, 2);
$aHeaders = putHeadersTextIntoArray($strResponseHeaders);

// Display return values
echo '<h3><u>Text After Spinning:</u></h3> <br/>' . $strResponseBody;
// Notice the use of response header 'available-spins' to keep track of remaining Spinbot credits.

echo '</div>';
echo '<div style="clear:both;"></div>';
echo '<hr><br/><br/><strong>Available Spins:</strong> <br/>' . $aHeaders['available-spins'];
// helper function to process return header plain text
function putHeadersTextIntoArray($header_text) {
    $headers = array();
    foreach (explode("\r\n", $header_text) as $i => $line)
        if ($i === 0) {
            $headers['http_code'] = $line;
        } else {
            list ($key, $value) = explode(': ', $line);
            $headers[$key] = $value;
        }
    return $headers;
}
?>