悠悠楠杉
PHP通过表单或URL传递值的示例代码
在form.html
文件中创建一个简单的表单,让用户可以输入文章的标题、关键词、描述和正文。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文章生成器</title>
</head>
<body>
<h1>文章生成器</h1>
<form action="generate_article.php" method="post">
<label for="title">标题:</label>
<input type="text" id="title" name="title" required>
<label for="keywords">关键词:</label>
<input type="text" id="keywords" name="keywords" required>
<label for="description">描述:</label>
<textarea id="description" name="description" required></textarea>
<label for="content">正文:</label>
<textarea id="content" name="content" required></textarea>
<button type="submit">生成文章</button>
</form>
</body>
</html>
php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 获取表单数据
$title = htmlspecialchars($_POST['title']);
$keywords = htmlspecialchars($_POST['keywords']);
$description = htmlspecialchars($_POST['description']);
$content = htmlspecialchars($_POST['content']); // 假设正文长度足够长(1000字左右)或按需截取或自动生成内容(这里简化处理)
$wordCount = strlen($content); // 计算字数(非实际用途)
$finalContent = ""; // 初始化最终Markdown内容字符串
$lineBreaks = "\n\n"; // 用于分隔段落的两行空白(Markdown格式)
$paragraphs = explode($lineBreaks, $content); // 将内容按段落分割为数组(考虑到Markdown的换行规则)
$finalContent .= "# $title" . $lineBreaks; // 添加标题部分(Markdown)
$finalContent .= "## 关键词: $keywords" . $lineBreaks; // 添加关键词部分(非标准Markdown,但为演示使用)
$finalContent .= "### 描述: $description" . $lineBreaks; // 添加描述部分(非标准Markdown,但为演示使用)
foreach ($paragraphs as $paragraph) { // 遍历每个段落并添加到最终内容中
$finalContent .= "$paragraph" . $lineBreaks; // 添加每个段落(Markdown)
}
// 输出或保存生成的Markdown内容到文件或数据库等(这里以输出到浏览器为例)
echo $finalContent; // 输出Markdown格式的文章内容到浏览器
} else { // 如果不是POST请求,则显示表单页面(增加安全性)
echo "<a href='form.html'>返回填写表单</a>"; // 提供回退链接以防表单未提交而直接访问处理页面的情况发生。
}
?>
此代码段首先检查是否为POST请求,若是,则从表单中获取数据并进行HTML实体编码以防止XSS攻击。然后,它构建一个基于用户输入的Markdown格式的字符串,并将这个字符串输出到浏览器中。请确保在实际应用中处理任何潜在的安全问题,例如XSS攻击和用户输入数据的验证与清理。