【问题标题】:Modifying Text in Javascript在 Javascript 中修改文本
【发布时间】:2015-01-05 03:06:26
【问题描述】:

我正在尝试为我的服务器设置一个文本修饰符,如果您在其中输入类似 hello ~world~ 的内容,“世界”部分将变为斜体。我想在 Javascript 中执行此操作,但我不知道如何执行此操作。

基本上,这就是脚本如何查找我运行服务器的位置。 这也是我现在基本做的,对于这个文本修改脚本。

beforeChatMessage: function(src, message, chan) {
var user = sys.name(src);
var usercolor = sys.color(src)
if (message.toLowerCase().match("~")){
var italicmessage = message.replace(message, "<i>");
sys.sendHtmlAll("<font color="+usercolor+"><timestamp/> "+user+": "+italicmessage+"", channel);
return;
}

这显然行不通,所以, 我猜正确的方法是使用子字符串? 任何帮助都会很棒。

【问题讨论】:

  • 不能设置 CKEditor 或 TinyMCE 之类的东西吗?
  • 不,哈哈,我的服务器基本上是在运行游戏,您可以在其中托管自己的服务器。每个服务器都可以使用脚本进行设置。
  • 输入到哪里?聊天室类型的东西?你想让它在按下回车键并让文本出现在聊天室后显示为斜体吗?

标签: javascript text modifier


【解决方案1】:

你可以用contenteditable="true"属性做类似的事情:

<div id="demo" contenteditable="true">Hello world!</div>

<script>
    demo.innerHTML = demo.innerHTML.replace("world", "<span style='font-style: italic'>world</span>");
</script>

Refer to this fiddle 看看它的工作原理。

【讨论】:

  • 这在我运行我的服务器时不起作用,基本上它关闭了一个游戏应用程序,并且他们有自己的 Javascript 变体。检查我的 OP,我用我基本上所做的和我的意思对其进行了编辑,这样你就可以更清楚了。
【解决方案2】:

我找到了一种实际执行此操作的方法,我进行了测试,并且似乎可以正常工作。 仅使用正则表达式似乎有效。 示例;

粗体:/[b](.*?)[/b]/gi,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多