2012-05-22 2 views
0

Я хочу запустить сценарий bash на своем сервере и отобразить вывод на веб-странице. Сценарий запускается через php и работает. - но мне нравится раскрашивать определенные ключевые слова. Как это лучше всего сделать?Как заменить HTML на BASH

Возможное решение:

я могу найти начало ключевого слова (предупреждение) с string.search("warning"); (я не знаю, как найти конец). -и выберите ключевое слово с string.substring(from, to). Затем используйте string.fontcolor("red"), чтобы его раскрасить, и document.write(colorstring);, чтобы отобразить его.

Edit:

Я не думаю, что моя проблема была четко сформулирована, поэтому я стараюсь снова:

PHP работает Баш скрипт, который возвращает текст, например,

"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», а затем удалив исходный текст из string/HTML будет больше работать, чем действительно заслуживает конечный результат. Иногда легко упростить вещи и рассматривать HTML как строку. В других случаях, конечно, это не так. Разумеется, это зависит от того, используете ли вы этот ответ. знак равно –

1

Ваш лучший выбор - использовать <span> и классы CSS, а не встроенные стили. Разделение стиля и данных важно для поддерживаемого сайта.

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

CSS:

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

Извините, но вы вообще не отвечаете на мой вопрос. См. Мое обновленное объяснение. – hpekristiansen

Смежные вопросы