2012-05-22 41 views
0

我想在我的服务器上运行bash脚本,并在网页上显示输出。脚本开始通过PHP,并正在工作。 - 但我想要着色特定的关键字。如何做到最好?如何用BASH代替HTML

可能的解决办法:

我能找到的关键字(警告)与string.search("warning");(我不知道如何找到结束)的开始。 - 并用string.substring(from, to)挑出关键字。然后使用string.fontcolor("red")对其进行着色,并使用document.write(colorstring);进行显示。

编辑:

我不认为我的问题是明确地提出,让我再试一次:

PHP运行bash脚本,即例如返回文本

"This is some text that bash returns" 

我最好如何变换文本

"This is <span class='keyword'>some</span> text that bash returns" 

这样我就可以申请一个彩色风格的关键字(“一些”)?

回答

1

如果你想要做的是包裹,然后风格,给定的字符串中的特定字符串:

var str = "This is some text that bash returns", 
    styledString = str.replace(/some/gi,'<span class="keyword">some</span>'); 

JS Fiddle proof-of-concept

+0

是的 - 我看到这会起作用。这很简单,也许是最好的解决方案。有一件事,我不喜欢 - 你使用一种语言(JavaScript),将代码插入另一种语言(HTML)。 Javascript有它自己的字符串方法(例如'string.fontcolor(color)')。我知道我自己写了 ...! – hpekristiansen

+0

很酷的测试页面。 – hpekristiansen

+1

是的,我有点同意你的问题在第一个评论,除了使用'纯粹的JavaScript'的方式插入一个元素在正确的点,附加一个'textNode',然后从原始文本中删除字符串/ HTML会比最终结果真正值得的工作方式更多。有时可以简化事物并将HTML视为一个字符串。其他时候,当然不是。不过,这当然取决于你是否使用这个答案。 =) –

1

最好的办法是使用<span>和CSS类,而不是内联样式。样式和数据的分离对于可维护站点是重要的。

<span class='keyword'>warning</span> 

CSS:

.keyword { 
    font-color:#ff0000; 
    font-weight:bold; 
} 
+0

对不起,但你根本不回答我的问题。请看我最新的解释。 – hpekristiansen