| <?php
|
|
|
| define("WORD_LIMIT",3);
|
| if(!class_exists('PhpTextSpinner'))
|
| {
|
| class PhpTextSpinner {
|
| private $oldContent="";
|
| private $suggestContent=array();
|
|
|
| public function spinContentAlt($content){
|
| $this->oldContent=$content;
|
| $tmp=explode(" ",$this->oldContent);
|
| $c=count($tmp);
|
| for($i=0;$i<$c;$i++){
|
| $word=trim($tmp[$i]);
|
| $suggestions="";
|
| if(strlen($word)>WORD_LIMIT){
|
| $url="http://freethesaurus.net/suggest.php?q=$word";
|
| $suggestions=$this->getHtmlCodeViaFopen($url);
|
| if($suggestions === FALSE)
|
| {
|
| $suggestions = '';
|
| $this->suggestContent[]=array($word,$suggestions);
|
| continue;
|
| }
|
| $suggestions=str_replace("\r",", ",$suggestions);
|
| $suggestions=str_replace("\n",", ",$suggestions);
|
| $suggestions=str_replace("\r\n",", ",$suggestions);
|
| }
|
| $this->suggestContent[]=array($word,$suggestions);
|
| }
|
| $c=count($this->suggestContent);
|
| for($i=0;$i<$c;$i++){
|
| $word=$this->suggestContent[$i][0];
|
| $temp=trim($this->suggestContent[$i][1]);
|
| if(strlen($temp)>0){
|
| $code="{";
|
| $tmp=explode(",",$temp);
|
| $ce=count($tmp);
|
| for($j=0;$j<$ce;$j++){
|
| $opt=trim($tmp[$j]);
|
| if(!empty($opt)){
|
| $code.="$opt|";
|
| }
|
| }
|
| $opt=substr($opt,0,strlen($opt)-1);
|
| $code.="}";
|
| $this->oldContent=str_replace($word,$code,$this->oldContent);
|
| }
|
| }
|
| return $this->oldContent;
|
| }
|
|
|
| public function spinContent($content){
|
| $this->oldContent=$content;
|
| $tmp=explode(" ",$this->oldContent);
|
| $c=count($tmp);
|
| $ch = curl_init();
|
| curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
| $headers = array();
|
| $headers[] = "x-rapidapi-key: n5yuFj0HINmshz3BduR7dmPWIdqvp1NDfeYjsnVFNhLdP2V34g";$headers[] = "x-rapidapi-host: wikisynonyms.p.rapidapi.com";
|
| $headers[] = "Accept: application/json";
|
| curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
| for($i=0;$i<$c;$i++){
|
| $word=trim($tmp[$i]);
|
| $suggestions="";
|
| if(strlen($word)>WORD_LIMIT && !preg_match('/[^A-Za-z]/', $word)){
|
| curl_setopt($ch, CURLOPT_URL, "https://wikisynonyms.p.rapidapi.com/".$word);
|
| $exec = curl_exec($ch);
|
| if($exec === FALSE)
|
| {
|
| $suggestions = "";
|
| $this->suggestContent[]=array($word,$suggestions);
|
| continue;
|
| }
|
| $json = json_decode($exec);
|
|
|
| if(isset($json->http) && $json->http == '200')
|
| {
|
| if(isset($json->terms))
|
| {
|
| foreach($json->terms as $terms)
|
| {
|
| if(!preg_match('/[^A-Za-z0-9\-]/', $terms->term))
|
| {
|
| $suggestions .= $terms->term . ', ';
|
| }
|
| }
|
| $suggestions=trim($suggestions, ',');
|
| }
|
| }
|
| }
|
| $this->suggestContent[]=array($word, $suggestions);
|
| }
|
| curl_close($ch);
|
| $c=count($this->suggestContent);
|
| for($i=0;$i<$c;$i++){
|
| $word=$this->suggestContent[$i][0];
|
| $temp=trim($this->suggestContent[$i][1]);
|
| if(strlen($temp)>0){
|
| $code="{";
|
| $tmp=explode(",",$temp);
|
| $ce=count($tmp);
|
| for($j=0;$j<$ce;$j++){
|
| $opt=trim($tmp[$j]);
|
| if(!empty($opt)){
|
| $code.="$opt|";
|
| }
|
| }
|
| $opt=substr($opt,0,strlen($opt)-1);
|
| $code.="}";
|
| $this->oldContent=str_replace($word,$code,$this->oldContent);
|
| }
|
| }
|
| return $this->oldContent;
|
| }
|
|
|
| function runTextSpinnerSingle($content){
|
| $returnArray=array();
|
| $pattern="/{(.*)}/Uis";
|
| preg_match_all($pattern, $content, $returnArray, PREG_SET_ORDER);
|
| foreach($returnArray as $return){
|
| $code=$return[0];
|
| $str=$return[1];
|
| $str=substr($str,0,strlen($str)-1);
|
| $tmp=explode("|",$str);
|
| $c=count($tmp);
|
| $rand=rand(0,($c-1));
|
| $word=$tmp[$rand];
|
| $content=str_replace($code,$word,$content);
|
| }
|
| return $content;
|
| }
|
|
|
| function runTextSpinner($content){
|
| $returnArray=array();
|
| $pattern="/\{[^\{]+?\}/ixsm";
|
| preg_match_all($pattern, $content, $returnArray, PREG_SET_ORDER);
|
| foreach($returnArray as $return){
|
| $code=$return[0];
|
| $str=str_replace("{","",$code);
|
| $str=str_replace("}","",$str);
|
| $tmp=explode("|",$str);
|
| $c=count($tmp);
|
| $rand=rand(0,($c-1));
|
| $word=$tmp[$rand];
|
| $content=str_replace($code,$word,$content);
|
| }
|
| $pos=strpos($content,"{");
|
| if($pos===false){
|
| return $content;
|
| }
|
| else{
|
| return $this->runTextSpinner($content);
|
| }
|
| }
|
|
|
| private function getHtmlCodeViaFopen($url){
|
| $returnStr="";
|
| $fp=fopen($url, "r");
|
| if($fp === FALSE)
|
| {
|
| return FALSE;
|
| }
|
| while (!feof($fp)) {
|
| $returnStr.=fgetc($fp);
|
| }
|
| fclose($fp);
|
| return $returnStr;
|
| }
|
| }
|
| }
|
| ?> |