新手上路篇

上传txt文件,中文自动转化为英文,生成html

网页关键词自动抽取本地文件

描述自动截取前一段文章

网页自动获取目录的十篇文章作文相关文章

废话不多说,直接冲:

先建立文件夹articles,用来储存生成后的html

建立关键词文件keywords.txt,一行一个关键词

处理文件代码:


<?phprequire 'vendor/autoload.php';use Stichoza\GoogleTranslate\GoogleTranslate;// 获取随机相关文章
function getRandomRelatedArticles($count = 10) {$allFiles = glob('articles/*.html');shuffle($allFiles);$relatedFiles = array_slice($allFiles, 0, $count);return $relatedFiles;
}// 从keywords.txt文件中获取元关键词
function getMetaKeywords() {$keywordsFile = 'keywords.txt';if (file_exists($keywordsFile)) {$keywordsArray = file($keywordsFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // 获取文件的每一行为数组元素$keywordsArray = array_slice($keywordsArray, 0, 10); // 获取前10个关键词$keywords = implode(',', $keywordsArray); // 将关键词数组连接回字符串,用逗号分隔return $keywords;}return ''; // 如果文件不存在,返回空字符串
}// 从内容中获取元描述
function getMetaDescription($content) {// 使用正则表达式匹配第一段$matches = [];preg_match('/<p>(.*?)<\/p>/s', $content, $matches);// 如果找到匹配,返回第一个匹配项,否则返回空字符串return $matches[1] ?? '';
}if (isset($_FILES['articles'])) {$articles = $_FILES['articles'];$translator = new GoogleTranslate();$translator->setTarget('en');for ($i = 0; $i < count($articles['name']); $i++) {if ($articles['error'][$i] === UPLOAD_ERR_OK) {$content = file_get_contents($articles['tmp_name'][$i]);$title = pathinfo($articles['name'][$i], PATHINFO_FILENAME);$translatedTitle = $translator->translate($title);$translatedContent = $translator->translate($content);$metaDescription = getMetaDescription($translatedContent);$metaKeywords = getMetaKeywords();if (isset($_FILES['articles'])) {$articles = $_FILES['articles'];// 创建 GoogleTranslate 的新实例$translator = new GoogleTranslate();// 将目标语言设置为英语$translator->setTarget('en');// 遍历每个上传的文件for ($i = 0; $i < count($articles['name']); $i++) {if ($articles['error'][$i] === UPLOAD_ERR_OK) {$content = file_get_contents($articles['tmp_name'][$i]);$title = pathinfo($articles['name'][$i], PATHINFO_FILENAME);// Translate the Chinese title to English$translatedTitle = $translator->translate($title);// Translate the Chinese content to English$translatedContent = $translator->translate($content);// Find and insert image links$contentWithImages = preg_replace_callback('/(<img src=[\'"])([^\'"]+)([\'"])/i', function ($matches) {return $matches[1] . $matches[2] . $matches[3] . ' style="max-width: 100%; height: auto;">';
}, $translatedContent);$formattedContent = nl2br($contentWithImages);$relatedArticles = getRandomRelatedArticles();$relatedArticlesHtml = '';foreach ($relatedArticles as $article) {$relatedArticlesHtml .= '<li><a href="' . str_replace('articles/', '', $article) . '">' . basename($article, '.html') . '</a></li>';}}}
}$html = '<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="' . $metaDescription . '">
<meta name="keywords" content="' . $metaKeywords . '"><link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon"><title>' . $translatedTitle . '</title><script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script>
<script>LA.init({id:"K2vcKRl2WRHQQS1K",ck:"K2vcKRl2WRHQQS1K"})</script><!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Y2N21X5N2W"></script>
<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag("js", new Date());gtag("config", "G-Y2N21X5N2W");
</script>
<link rel="stylesheet" href="style.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.4/css/all.min.css"><style>body {font-family: "Microsoft YaHei", "微软雅黑", "宋体", "SimSun", "Roboto", Arial, sans-serif;margin: 0;padding: 0;background-color: #F44336;color: #edde28;line-height: 1.6;}.container {max-width: 800px;margin: 0 auto;padding: 20px;}h1 {font-size: 40px;text-align: center;margin-top: 50px;margin-bottom: 20px;}h2 a, ul a {color: #edde28; text-decoration: none; /* 移除下划线 */
}h2 a:hover, ul a:hover {color: #FFD700;
}.logo {display: block;width: 200px;margin: 20px auto;}.article-content {margin: 20px;}.button {display: inline-block;margin: 20px 10px;padding: 10px 20px;background-color: #B8860B;color: #F44336;font-size: 18px;text-align: center;text-decoration: none;border-radius: 4px;transition: background-color 0.3s ease;}.button:hover {background-color: #F44336;color: #B8860B;}ul li {word-wrap: break-word;}</style><link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet"><!-- Add the statistics scripts and other head elements here -->
</head>
<body><div class="container"><img src="/logo.png" alt="Logo" class="logo"><h1>' . $translatedTitle . '</h1><div class="article-content">' . $formattedContent . '</div><div class="related-articles-container"><h2>related articles</h2><ul>' . $relatedArticlesHtml . '</ul><a href="javascript:history.back()" class="button">Back</a><a href="https://www.guibaofang.com" class="button">Home</a></div><!-- Add the statistics scripts and other body elements here --><footer><div class="container"><div class="row"><div class="col-md-6">
<h1><i class="fas fa-question-circle" aria-hidden="true"></i> Only this? Contact us to see more!
</h1><p><i class="fas fa-map-marker-alt" aria-hidden="true"></i> Address: Hometown of Chinese Jade Ware - China Sihui
</p>
<p><a href="https://api.whatsapp.com/send?phone=601160969184&text=Hello!%20I%20am%20interested%20in%20your%20Nanhong%20agate%20jewelry.%20Can%20you%20please%20provide%20more%20information%3F" target="_blank" class="whatsapp-link"><i class="fab fa-whatsapp" aria-hidden="true"></i> Contact us on WhatsApp</a>
</p><p><a href="wechat.jpg" target="_blank" class="wechat-link"><i class="fab fa-weixin" aria-hidden="true"></i> WeChat:@guibaofang</a>
</p><p><a href="https://www.youtube.com/@guibaofang" target="_blank" class="youtube-link"><i class="fab fa-youtube" aria-hidden="true"></i> YouTube</a>
</p><p><a href="https://www.tiktok.com/@nanhongmanao" target="_blank" class="tiktok-link"><i class="fab fa-tiktok" aria-hidden="true"></i> TikTok</a>
</p><p><a href="https://www.facebook.com" target="_blank" class="facebook-link"><i class="fab fa-facebook-f" aria-hidden="true"></i> Facebook</a>
</p><p><a href="mailto:guibaofangcom@gmail.com" class="contact-link"><i class="fa fa-envelope" aria-hidden="true"></i> Email: guibaofangcom@gmail.com</a></p>
</div></div></div></footer>
</body>
</html>';// 替换标题中的任何无效字符$safeTitle = preg_replace('/[^a-zA-Z0-9]+/', '', $translatedTitle);// 将标题转换为小写$safeTitle = strtolower($safeTitle);file_put_contents('articles/' . $safeTitle . '.html', $html);}
}
echo "上传的文章已经处理。";
} else {
echo "没有上传任何文章。";
}
?>

前台上传代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Upload Articles</title>
</head>
<body><h1>Upload Articles</h1><form action="上个文件.php" method="post" enctype="multipart/form-data"><input type="file" name="articles[]" multiple><button type="submit" name="submit">Upload</button></form>
</body>
</html>

有些简陋,需要的自己拿去美化

演示:

上传的文章为

处理好的文章为:

可以看到关键词和描述已经自动调用

感谢观看,再次谢谢

上传txt文章,自动转变为英文文章,插入图片地址,自动识别并插入html相关推荐

  1. php 选择路径上传方法,PHP上传文件时自动分配路径的方法,_PHP教程

    PHP上传文件时自动分配路径的方法, 本文实例讲述了PHP上传文件时自动分配路径的方法.分享给大家供大家参考.具体分析如下: 网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的 ...

  2. 服务器 上传文件 杀毒,一种实现文件上传网站后自动进行杀毒的方法及系统

    1. 一种实现文件上传网站后自动进行杀毒的系统,其特征在于,包括: 服务器端监控模块,用于对每一个上传到服务器的文件进行监控: 服务器端的杀毒模块,用于对上传到服务器的文件进行病毒查杀: 位于服务器端 ...

  3. php自动分配,PHP上传文件时自动分配路径的方法_php技巧

    本文实例讲述了PHP上传文件时自动分配路径的方法.分享给大家供大家参考.具体分析如下: 网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的文件多了,我们就不能放在同一个目录了, ...

  4. OSS上传txt文件乱码问题

    OSS上传txt文件乱码问题 设置文件的元信息,将文件的Content-type设置为:txt/plain;charset=utf-8就行了 public static void main(Strin ...

  5. 上传视频时自动完成截取缩略图(一)

    视频类网站我们每天都会用到,优酷.爱奇艺.腾讯视频.百度视频为我们提供了各种各样丰富的影视资源丰富我们的日常娱乐.视频在线教育发展同样也很火. 最近在做校园视频管理的项目.从最开始的熟悉框架,各种技术 ...

  6. java ftpclient上传txt文件

    java ftpclient上传txt文件 import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp. ...

  7. 基于fastadmin框架,上传视频,自动截取视频封面图

    最近用fastadmin开发了一个项目,需要用到视频的封面图片,客户又不能一一提供视频对应的封面,为减少工作量,需要在后台上传视频后直接生成默认封面图片,也可以自动上传想要的封面图片: 利用fasta ...

  8. 怎么写一个文章自动生成器-免费的文章生成器下载

    怎么写一个文章自动生成器 写一个文章自动生成器需要具备一些特定的技术和编程能力,主要包括以下几个步骤: 数据收集:为了训练 AI 文章生成器,需要收集大量的文章数据,可以通过爬虫程序从互联网上收集数据 ...

  9. java 图片批量上传_java实现批量上传图片,还要保证每个图片的顺序号,疑问求教!...

    rt 我要一次性同时上传n张照片,并且每张照片的顺序号还不一样,第一张的serialno是1,第二张是2.. 一开始我做单张图片上传, 代码如下 @RequestMapping("/picU ...

最新文章

  1. SGU 275. To xor or not to xor
  2. 微软冷箭射苹果:世界需要更开放的平台
  3. matlab机械臂工作空间代码_ROS中机械臂笛卡尔空间规划姿态求解无效-Moveit!
  4. 使用arguments对象模拟函数重载
  5. Linux基础-15-samba服务
  6. wordpress配置google search console失败_Wordpress在国内无法打开后台撰写新文章的解决办法...
  7. python search group_python笔记52-re正则匹配search(group groups groupdict)
  8. 苹果蓝牙耳机平替哪个好用?商务通话蓝牙耳机推荐
  9. 使用Qt给微信头像添加国旗
  10. 多字节字符与宽字节字符
  11. 织梦dedecms百度快照劫持注入代码防范与清除
  12. 微信二次开发html,基于mvc的微信二次开发c#源代码
  13. Matplotlib 中等高线图(contour)的绘制
  14. VOC2007数据集 VOC2012数据集下载 百度云
  15. 强化学习基础(第一周)笔记和代码(RL-cousera)
  16. 西门子工控机触摸屏维修IPC677D平板式PC机
  17. tensorflow高阶教程:tf.dynamic_rnn
  18. STM32使用Jlink下载出现NO cortex-M SW device Found解决(超详细)
  19. 河南省第十届ACM赛题
  20. 什么是幸运数?一个案例让你明白

热门文章

  1. 如何防范汽车数据出境安全法律风险
  2. 2021年中国鲜活农产品产量及价格走势分析[图]
  3. xbox360游戏下载_是下载Xbox和PlayStation游戏还是通过光盘购买它们更好?
  4. tushare 之get_today_all修复接口完整code
  5. 【笔记】复数:复数生活在二维复平面,拥有更大的自由度,在复数域中解决一些问题会更加简单、更接近本质
  6. postgresql 系统表
  7. 对于网校系统源码,你了解多少?
  8. 10月编程排行榜更新!请收下我的膝盖!
  9. 2018,你还差一场深度纵横的以太坊技术盛宴
  10. 成都拓嘉启远:拼多多一件代发主要优势