2016-06-10 6 views
1

Ich mache einige HTML-Verarbeitung vor dem Speichern des Inhalts in der Datenbank. Wenn Benutzer Inhalte einfügen, die HTML-Tabellen enthalten, muss ich einige Tags und Attribute entfernen.Entfernen von Breite Tag in Tabelle mit Regex

Ich extrahiere den Tabelleninhalt über content.match('<table[^>]*>(.*?)</table>'). In diesem Inhalt hat es ein width-Tag als Attribut und auch ein style-Tag. <table width="462" style="border-collapse: collapse; width: 348pt;">.

Ich möchte diesen Inhalt wie <table style="border-collapse: collapse;"> haben. Ich möchte nicht Breite Attribut und Tag innerhalb tr und td entfernen. Kann jemand dafür ein richtiges Regex-Muster vorschlagen?

Antwort

0

Vorausgesetzt, Sie verwalten die <table...> Token selbst zu erhalten, sollte die folgende Regex alle width Attribute, die nicht durch ein Minus vorhergehenden:

/(?:[^\w-])width\s*(=\s*(["'])[^"']+\2\s*|:\s*[^;]+;)/g 

Sie sollten offensichtlich die angepassten Inhalte von einem Leerzeichen ersetzen.