Antwort von @ voyager zur Verwendung von data-*
Attributen (z. B. data-gender="female|male"
der effektivste und standardkonformste Ansatz ab 2017:
[data-gender='male'] {background-color: #000; color: #ccc;}
Die meisten Ziele können erreicht werden, da es einige, wenn auch begrenzte Selektoren gibt, die sich an Text orientieren. Der :: first-letter ist ein Pseudo-Element , die begrenzte Styling mit dem ersten Buchstaben eines Elements anwenden kann. Es gibt auch ein :: First-Line -Pseudoelement, neben der offensichtlichen Auswahl der ersten Zeile eines Elements (z. B. eines Absatzes) impliziert dies auch, dass es offensichtlich ist, dass CSS verwendet werden könnte, um diese vorhandene Fähigkeit zu erweitern, um bestimmte Aspekte eines textNode zu formatieren .
Bis zur Befürwortung erfolgreich und ist die nächste beste Sache umgesetzt ich vorschlagen könnte , wenn anwendbar ist explode
/ split
Worte einen Raum deliminator, Ausgang jedes einzelne Wort im Innern eines mit span
Elemente und dann , wenn das Wort / Ziel Styling ist vorhersehbar Verwendung in Kombination mit : n Selektoren ::
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span>'.$value1.'</span>;
}
Andernfalls, wenn dies nicht vorhersehbar ist , verwenden Sie erneut die Antwort des Voyagers zur Verwendung von data-*
Attributen. Ein Beispiel mit PHP:
$p = explode(' ',$words);
foreach ($p as $key1 => $value1)
{
echo '<span data-word="'.$value1.'">'.$value1.'</span>;
}