我一直在寻找一段时间,但我还没有找到我的答案。我试图格式化我的标签,以便根据用户输入的内容将其作为一个单词或多个单词出现。如何在php中格式化用户输入的标签?
例如,当用户输入:社会化书签,社交媒体
我要把这三个单独的标签......“社会”,“书签”,“媒体”
我需要它显示为这三个标签......“社交”“书签”“社交媒体”
注意社交媒体是一个词。这些报价只是为了帮助解释,他们实际上并没有出现。另外一些用户使用空格而不是逗号来分隔标签,而不是使用我的指令,而是使用一个长标签。
这里是整个代码,我现在使用...
$query="SELECT gtags FROM posts WHERE category='".mysql_real_escape_string($CATID)."' order by rand() limit 20";
$results=$conn->execute($query);
$gtags = $results->getrows();
for($i=0; $i<count($gtags);$i++)
{
$tags .= $gtags[$i][0].",";
}
$tags = str_replace(" ", ",", $tags);
$tags = str_replace(".", ",", $tags);
$tags = str_replace("/", ",", $tags);
$tags = str_replace("+", ",", $tags);
$tags = str_replace("", " ", $tags);
$tags = str_replace(" ", ",", $tags);
$tags = explode(",", implode(",", array_unique(explode(",", $tags))));
STemplate::assign('tags',$tags);
$templateselect = "tags.tpl";
你应该分裂您2个问题,因为他们是不相关的(并不多至少) – 2011-06-09 14:57:21
什么是你的问题? – 2011-06-09 15:03:24
用户应该从列表中选择标签,否则最终会出现大量类似错别字的标签等等。允许他们添加新标签,一次只能添加一个标签。使用Ajax,我已经看到了一些精巧的实现。 – Cups 2011-06-09 15:07:10