PHP标签系统


PHP Hashtag System

我正在尝试在PHP中设置一个主题标签系统,如果用户输入的单词旁边包含一个#,它将被替换为链接。

例如:

$input = "mysql_real_escape_string($_POST['input'])";
$sql = "INSERT INTO table (input) VALUES ('$input')";
mysql_query($sql, $connect);
?>
<?php
mysql_select_db("database",$connect);
$sql = mysql_real_escape_string("SELECT * FROM input");
$myData = mysql_query($sql, $connect);
echo $myData;

$myData说"刚刚在学区以 80 英里/小时的速度行驶 #yolo"

我希望它回响:

Just went 80mph in a schoolzone <a href="search?q=%23yolo">#yolo</a>

就像在推特上一样。我不知道如何设置它,但我认为可能涉及preg_match()str_replace()

您要查找的正则表达式是#([^'s]+),它匹配哈希后的一个或多个字符,直到出现空格。然后,这可以与preg_replace一起使用来创建链接。

例如

$output = preg_replace( "/#([^'s]+)/", "<a href='"search?q=%23$1'">#$1</a>", $input );