Выделите символы в строке, используя разные цвета с PHP - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь выделить отдельные символы (буквы) в строке, используя 4 разных цвета.То, что я хотел бы ...

Ключ:

, Y , 2 = Красный фон / белый текст
, Y ,1 = красный фон / белый текст
, T , = синий фон / белый текст
, N \ r \ n = зеленый фон / белый текст
word.it = Белый фон / серый текст

Единственный способ правильно идентифицировать только буквы, которые я хочу выделить, - это их положение относительно других соседних символов, например запятых, числа и строки возвращаются, однако я на самом деле не хочу выделять соседние разделители.

* Смотрите мой макет HTML того, что мне нужно здесь:

image>">

Я уже пытался использовать preg_replace, но код позволяет мне выделить только один символ в массиве желаемым цветом, но не остальные.Все буквы получают только один цвет, используя этот код.

$sentence = $resp;
$wordsToHighlight = array(",N\r\n", ",T,", "Y,1", "Y,2");
$modifiedData = preg_replace('/'.implode('|', $wordsToHighlight).'/', '<span style="background:#24aaff;"><b>$0</b></span><span style="background:#33cc33;"><b>$1</b></span><span style="background:#ff0000;"><b>$2</b></span><span style="background:ff0000;"><b>$3</b></span>', $sentence);
echo '<p class="names">' .$modifiedData. '</p>';
...