2017-05-18 2 views
0

Haben wir etwas in CSS, wo Styling auf einen passenden Satz von Schlüsselwörtern angewendet werden könnte?Mustervergleich für Zeichenfolgen in css

Zum Beispiel, ich habe eine Liste von Worten { „Geschichte“, „Führer“, „Gefühle“, „Zeit“ ...}

würde Ich mag CSS-Stil alle anwenden Keywords, die mit der obigen Liste im folgenden Absatz übereinstimmen.


„Im Laufe der menschlichen Geschichte oder größten Führer und Denker haben die Macht der Worte verwendet, um unsere Emotionen, zu transformieren, in ihren Ursachen zu gewinnen uns und gestalten den Kurs schicksal. Wörter können nicht nur Emotionen erstellen, sie erstellen Aktionen. Und von unseren Aktionen fließen die Ergebnisse unseres Lebens. "Tony Robbins

+2

* "Haben wir etwas in CSS, wo Styling zu einem passenden Satz von Schlüsselwörtern angewendet werden könnte?" * - Nein. – Santi

+2

Nein, Sie benötigen ' Verlauf', die dynamisch mit JavaScript eingefügt werden können. –

+1

Sie müssten js verwenden, um sie in eine Spanne mit einer Klasse einzufügen, die an sie angehängt ist - css kann dies nicht selbst tun. – Pete

Antwort

0

Vielen Dank für alle Eingaben. Ich werde für Javascript gehen, um den HTML-Code vor dem Anwenden von CSS zu bearbeiten. Hier

ist ein Ansatz, der zeigt, wie können Sie durch das Array:

['history', 'leaders', 'emotions', 'time'] 

und fett jedes der Wörter im Text.

var wordsToHighlight = ['history', 'leaders', 'emotions', 'time']; 
 

 
var paragraph2 = document.getElementsByTagName('p')[1]; 
 
var paragraph2Text = paragraph2.innerHTML; 
 
var paragraph2RichText = paragraph2Text; 
 

 
for (var i = 0; i < wordsToHighlight.length; i++) { 
 
    var regex = new RegExp('('+ wordsToHighlight[i] + ')', 'gi'); 
 
    paragraph2RichText = paragraph2RichText.replace(regex, '<strong>$1</strong>'); 
 
} 
 

 
paragraph2.innerHTML = paragraph2RichText;
<p>“Throughout human history, or greatest leaders and thinkers have used the power of words to transform our emotions, to enlist us in their causes, and to shape the course of destiny. Words can not only create emotions, they create actions. And from our actions flow the results of our lives.” Tony Robbins</p> 
 
<p>“Throughout human history, or greatest leaders and thinkers have used the power of words to transform our emotions, to enlist us in their causes, and to shape the course of destiny. Words can not only create emotions, they create actions. And from our actions flow the results of our lives.” Tony Robbins</p>

+1

Er sagte "in CSS". – Rob

+0

Ihr Kommentar oben kommt etwas feindselig, @Rob. Das OP enthielt ein "Javascript" -Tag. Was du entfernt hast. Er schrieb auch: _Thanks alle für Eingaben. Ich werde für Javascript gehen, um den HTML-Code zu bearbeiten, bevor ich css anwende. Meine Antwort ist eine Antwort auf diesen Kommentar. Ich bin mir sicher, dass keiner von uns die Frage des OP besser kennt als das OP. – Rounin

+1

Das bloße Vorhandensein eines [javascript] -Tags IMHO bedeutet nicht, dass das OP bereit oder begierig ist, eine JS-Lösung zu unterhalten. Im Gegenteil, er wiederholt "CSS" sowohl im Titel als auch im Text dieses Posts. Seine Frage ist "Haben wir irgendetwas in CSS" und "Ich möchte CSS Stil anwenden". Wir haben alle viele Fälle gesehen, in denen das OP seinen Beitrag überschreibt. In diesem Sinne stimme ich der Änderung zu, um das "javascript" -Tag zu entfernen. Wenn der Benutzer JS verwenden wollte, ist es nicht unvernünftig anzunehmen, dass er einen Satz hinzugefügt hätte. Oder muss ich JS verwenden, und wenn ja, wie? "(Forts.) –