1

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

例如:

$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说“刚刚在学区#yolo 以 80 英里/小时的速度行驶”

我希望它回响:

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

就像在推特上一样。我不知道如何设置它,但我假设preg_match()str_replace()可能参与其中。

4

1 回答 1

5

您正在寻找的正则表达式是#([^\s]+)在散列之后匹配一个或多个字符,直到出现空白。然后可以将其与 preg_replace 一起使用以创建链接。

例如

$output = preg_replace( "/#([^\s]+)/", "<a href=\"search?q=%23$1\">#$1</a>", $input );
于 2013-10-01T15:49:13.233 回答