我正在尝试在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 );