首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将视频游戏应用程序中的@ to语法转换为HTML?

如何将视频游戏应用程序中的@ to语法转换为HTML?
EN

Stack Overflow用户
提问于 2014-10-10 02:13:12
回答 1查看 111关注 0票数 0

我正在制作一个视频游戏应用程序,让用户@提到一个存储在数据库中的电子游戏。它的工作方式类似于你可以在Twitter上“提到用户”,或者在Facebook上“提及任何事情”的方式。

当用户在进行评论时键入“@”时,JavaScript会触发一个下拉框以显示。用户从下拉框中选择一个游戏,当他选择它时,它会进入文本区域。在内部,字符串是使用@id:Game Title格式存储的,这是我编写的格式。所以,如果我想@提到“超级马里奥兄弟”在我所做的评论中,存储在内部(并发送到数据库)的字符串是:

@[6816:Super Mario Bros.] is a great game!

这种格式允许应用程序知道游戏ID是6816,并且游戏是“超级马里奥兄弟”。

当评论稍后显示时,它需要以HTML格式显示,以便用户可以单击游戏的链接,如果他/她愿意的话。如何使用PHP将此原始字符串转换为HTML格式,如:

<a href="/games/6816">Super Mario Bros.</a> is a great game!

我尝试过多种解决方案,但似乎没有一种可行。我不确定最好的解决方案是使用正则表达式,还是使用其他解决方案。请记住,用户可以@提到他/她想要的游戏数量!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 02:30:36

Javascript

代码语言:javascript
复制
var test = "@[6816:Super Mario Bros.] is a great game! @[6821:Super Mario Bros. 3] is fun too!";
test.replace(/@\[(\d+?):(.+?)\]/g, "<a href=\"/games/$1\">$2</a>");

PHP

代码语言:javascript
复制
$test = '@[6816:Super Mario Bros.] is a great game! @[6821:Super Mario Bros. 3] is fun too!';
preg_replace('/@\[(\d+?):(.+?)\]/', '<a href="/games/$1">$2</a>', $test);

编辑:更新以支持多个标记

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26290907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档