///这里保存为一个ai.js文件
function $(id) {
return document.getElementById(id);
}
var EventUtil = function() {};
EventUtil.addEventHandler = function(obj, EventType, Handler) {
if (obj.addEventListener) {
obj.addEventListener(EventType, Handler, false);
}
else if (obj.attachEvent) {
obj.attachEvent('on' + EventType, Handler);
} else {
obj['on' + EventType] = Handler;
}
}
if ($("content")) {
EventUtil.addEventHandler($('content'), 'propertychange', CountChineseCharacters);
EventUtil.addEventHandler($('content'), 'input', CountChineseCharacters);
}
function showit(Word) {
alert(Word);
}
function CountChineseCharacters() {
Words = $('content').value;
var W = new Object();
var Result = new Array();
var iNumwords = 0;
var sNumwords = 0;
var sTotal = 0;
var iTotal = 0;
var eTotal = 0;
var otherTotal = 0;
var bTotal = 0;
var inum = 0;
for (i = 0; i < Words.length; i++) {
var c = Words.charAt(i);
if (c.match(/[\u4e00-\u9fa5]/)) {
if (isNaN(W[c])) {
iNumwords++;
W[c] = 1;
}
iTotal++;
}
}
for (i = 0; i < Words.length; i++) {
var c = Words.charAt(i);
if (c.match(/[^\x00-\xff]/)) {
if (isNaN(W[c])) {
sNumwords++;
}
sTotal++;
} else {
eTotal++;
}
if (c.match(/[0-9]/)) {
inum++;
}
}
$('shengyu').innerText = '2000' - (inum + iTotal+(eTotal - inum));
$('zishu').innerText = inum + iTotal+ (eTotal - inum);
}
var xmlhttp = null;
function createXmlHttp() {
//非IE浏览器创建XmlHttpRequest对象
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
if (window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
}
catch (ex) { }
}
}
}
function answers() {
document.getElementById("reply").innerHTML = "正在伪原创中,请稍候...";
createXmlHttp();
if (!xmlhttp) {
alert("创建xmlhttp对象异常!");
return false;
}
var question = document.getElementById("content").value;
var url = "https://www.zhwenku.com/api.php"; //这里记得修改
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var replyResult = xmlhttp.responseText;
document.getElementById("reply").innerHTML = replyResult;
}
}
}
xmlhttp.send("info="+question);
}
下面是index.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>智能AI文章伪原创</title>
<meta name="Keywords" content="伪原创,伪原创检测,在线伪原创,文章伪原创,伪原创工具" />
<meta name="Description" content="" />
<link rel="stylesheet" href="bulma.css" />
<script type="text/javascript">
function clearBox(){
document.getElementById('content').value = "";
};
</script>
</head>
<body>
<section class="hero">
<div class="hero-head">
<header class="nav">
<div class="container">
<div class="nav-left">
<a class="nav-item" href="/"> 智能AI文章伪原创</a>
</div>
</div>
</header>
</div>
<div class="hero-body">
<div class="container">
<div class="columns">
<div class="column is-10">
<h1 class="title is-info">智能AI文章伪原创</h1>
<h2 class="subtitle is-info">版本V0.1</h2>
<div class="field is-horizontal is-info">
<div class="field-body is-info">
<div class="field">
<div class="control">
<textarea class="textarea" placeholder="请输入最多不超过2000个字,进行伪原创!" rows="12" id="content" autofocus=""></textarea>
</div>
</div>
</div>
</div>
<div class="field is-grouped is-grouped-multiline">
<span class="tag">您可输入</span>
<div class="control">
<div class="tags has-addons">
<span class="tag is-success">2000</span>
<span class="tag is-primary">个字符</span>
</div>
</div>
<span class="tag">以输入</span>
<div class="control">
<div class="tags has-addons">
<span class="tag is-warning" id="zishu">0</span>
<span class="tag is-success">个字符</span>
</div>
</div>
<span class="tag">还可以输入</span>
<div class="control">
<div class="tags has-addons">
<span class="tag is-warning" id="shengyu">2000</span>
<span class="tag is-danger ">个字符</span>
</div>
</div>
</div>
<div class="field is-grouped is-grouped-right">
<p class="control"> <a href="javascript:void(0)" class="button is-primary" id="button" type="button" onclick="answers()"> 进行AI伪原创 </a> </p>
<p class="control"> <a class="button is-light" id="reset" type="reset" value="重新输入" name="reset" onclick="clearBox();"> 重新输入 </a> </p>
</div>
<div class="field-body is-info">
<div class="field">
<div class="control">
<textarea class="textarea" placeholder="智能AI文章伪原创内容" rows="12" id = "reply" autofocus=""></textarea>
</div>
</div>
</div>
<br>
<p class="title">智能AI伪原创是做什么的?</p>
<div class="tile is-ancestor">
<div class="tile is-parent">
<article class="tile is-child box">
<p class="subtitle"></p>
<div class="content">
<br>
<p> 各位站长朋友想必都为网站内容原创的问题头疼吧,作为一个草根站长,要想自己写原创文章,那是不可能的,当然我不是说你一篇也写不出来。以个人站长的人力来说,写原创文章不太现实,光时间就是问题。</p>
<p>也许有的站长朋友该问:不写原创文章怎么弄好知海网www.zhwenku.com网站呢?<br>
其实不光是我们,就是国内的几个大门户也不全是原创文章,他们互相之前也是拿来内容修改一下,再改改标题,就成了自己的“新闻”。
下面该说说,我这个伪原创工具了。本程序是免费的在线伪原创工具,原理就是同义词替换。</p>
<p>有朋友问我,这样会不会被K,算不算做弊?<br>就这个问题我发表一下个人的看法供你参考。搜索引擎毕竟是机器,他抓取文章后会在数据库中与已有的文章做一个比对,如果发现有相似度很高的文章则认为是抄袭,反之认为是原创。当然如果你是原样照搬的,那么就订死是抄袭的。用伪原创工具转换后,文章中的部分词组被转换成同义词,搜索引擎再比对时,就认为是原创文章了。当然这也不是绝对的,看具体转换词组多少而言。</p>
</div>
</article>
</div>
</div>
</div>
<div class="column is-4">
<p class="menu-label"> 人无完人 </p>
</div>
</div>
</div>
</div>
<div class="hero-foot">
<nav class="tabs">
<div class="container">
<ul>
<li class="is-active"><a href="/">智能AI文章伪原创</a></li>
</ul>
</div>
</nav>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="content has-text-centered">
<p> © 2020 WWW.zhwenku.COM All rights reserved.</p>
</div>
</div>
</footer>
<style>
::-webkit-scrollbar {
width: 4px;
height: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 0;
background: rgba(0, 0, 0, 0.1);
}
</style>
<script charset="utf-8" src="./ai.js"></script>
</body>
</html>
最后是js里面的api.php文件
<?php
error_reporting(0);
if($_POST['info']){
$html = new article($_POST['info'],$_POST['key']);
echo $html->Content();
}
class article
{
// 文章
protected $source = "";
//关键词
protected $keyword="";
function __construct($source,$keyword)
{
$this->source = strip_tags($source,'<p>');
$this->keyword = explode(',' ,$keyword);
}
public function Content()
{
if (!$this->source) return false;
$text=str_replace(array("\r\n","\n","\r"),'[h]',$this->source);
$text= $this->keyword_lock($text);
$text= $this->keyword_unlock($this->wyc($text));
return str_replace('[h]',PHP_EOL,$text);
}
//关键词锁定
public function keyword_lock($content='')
{
foreach ($this->keyword as $id=>$age) {
$content=&$content;
$content=str_replace($age,"[k$id]",$content);
}
return $content;
}
//关键词解锁
public function keyword_unlock($content='')
{
foreach ($this->keyword as $id=>$age) {
$content=&$content;
$content=str_ireplace("[k$id]",$age,$content);
}
return $content;
}
public function mbStrSplit ($string, $len=1)
{
$start = 0;
$strlen = mb_strlen($string);
while ($strlen) {
$array[] = mb_substr($string,$start,$len,"utf8");
$string = mb_substr($string, $len, $strlen,"utf8");
$strlen = mb_strlen($string);
}
return $array;
}
public function wyc($info)
{
$infocount=mb_strlen($info, 'UTF-8');
//1000以内可用
if($infocount<=990){
$zh_en=$this->translate($info,'zh-CN','EN');
$wyc=$this->translate($zh_en,'EN','zh-CN');
}else{
$wyc="超过字数限制 www.2wx.com";//92行设置的字数
}
/*
//超过一千可用
if($infocount<=1000){
//如果小于或等于1000直接翻译
$zh_en=$this->translate($info,'zh-CN','EN');
$wyc=$this->translate($zh_en,'EN','zh-CN');
}else{
//如果大于于1000,每1000字符进行分割循环翻译
$info = $this->mbStrSplit($info, 800);
$arr=count($info);
for($i=0;$i<$arr;$i++){
$zh_en=$this->translate($info[$i],'zh-CN','EN');
$wyc.=$this->translate($zh_en,'EN','zh-CN');
}
} */
return $wyc;
}
public function translate($text,$from,$to)
{
$url = "https://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=$from&tl=$to&q=". urlencode($text);
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS,20);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result);
if(!empty($result)){
foreach($result[0] as $k){
$v[] = $k[0];
}
return implode(" ", $v);
}
}
}
到这里就OK了