La respuesta de @ voyager sobre el uso de data-*
atributos (por ejemplo, data-gender="female|male"
es el enfoque más efectivo y compatible con los estándares a partir de 2017:
[data-gender='male'] {background-color: #000; color: #ccc;}
Casi la mayoría de los objetivos se pueden alcanzar ya que hay algunos selectores, aunque limitados, orientados alrededor del texto. La :: primera letra es un pseudo-elemento que puede aplicar un estilo limitado a la primera letra de un elemento. También hay una :: primera línea pseudo-elemento , además de seleccionar obviamente la primera línea de un elemento (como un párrafo) también implica que es obvio que CSS podría usarse para extender esta capacidad existente para diseñar aspectos específicos de un nodo de texto .
Hasta que dicha promoción tenga éxito y se implemente, lo mejor que podría sugerir cuando corresponda es a explode
/ split
palabras usando un deliminador de espacio, envíe cada palabra individual dentro de un span
elemento y luego, si el objetivo de palabra / estilo es predecible, use en combinación con : enésimo selectores :
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span>'.$value1.'</span>;
}
De lo contrario, si no es predecible , nuevamente, use la respuesta del viajero sobre el uso del data-*
atributo. Un ejemplo usando PHP:
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span data-word="'.$value1.'">'.$value1.'</span>;
}