我在PHP中使用Markdown并编写了一个正则表达式,如果任何<h1>-<h6>带有named-anchor(<a name="Text">Text</a>)的标签用于链接,则自动将文本包装在里面.
这是PHP:
$text = '<p>This is a</p>
<h1>Test</h1>
<p>to see if this works </p>';
$regex = '/\<h([0-6]{1})\>(.+)\<\/h[0-6]{1}\>/';
echo preg_replace($regex, '<h$1><a name="$2">$2</a></h$1>', $text);
Run Code Online (Sandbox Code Playgroud)
结果是:
<p>This is a</p>
<h1><a name="Test">Test</a></h1>
<p>to see if this works </p>
Run Code Online (Sandbox Code Playgroud)
重要的是,Markdown重量轻,易于存放空间.手动添加命名锚点类似于完全失败使用Markdown的目的.
这种方法适用于测试目的,但我想知道(这里是问题)是否有更好的,更加语言无关的方法来实现这一目的.
注意:客户端是这样的,想要这样,因为他们觉得即使是原生的Markdown语法也可能疏远他们更"计算机文盲"的用户:# [Text](#Text).他们只想输入:# Text
我需要在我的mysql表中的'feedback'字段中显示我的页面上的回复数据.我希望每个用户在每行存储不同的"反馈"响应,并在用户通过会话登录页面时获取.我已经设置了我的数据库,但发现很难形成php代码来查看我页面上的反馈...请有人帮忙../
<?php
session_start();
if ($_SESSION['username'])
{
$con = mysqli_connect('localhost','root','');
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"loginsession");
$username = $_SESSION['username'];
$sql="SELECT * FROM users WHERE username = $username";
$result = mysqli_query($con,$sql);
$feedback = mysql_query("SELECT feedback FROM users WHERE username='$username'");
echo $feedback;
}
else
header("Location: index.php");
?>
Run Code Online (Sandbox Code Playgroud)