8.7. Dodawanie atrybutu cellspacing do tych znaczników <table>, które jeszcze tego atrybutu nie zawierają

Problem

Chcemy przeszukać plik w formacie (X)HTML i dodać atrybut cellspacing="0" do wszystkich tabel, które jeszcze nie zawierają atrybutu cellspacing.

Ta receptura ilustruje technikę dodawania atrybutów do tych znaczników XML-a, które jeszcze nie zawierają odpowiednich zapisów. Prezentowane rozwiązanie można by zastosować dla dowolnych innych znaczników oraz nazw i wartości atrybutów.

Rozwiązanie

Pierwsze wyrażenie regularne: Rozwiązanie uproszczone

Do dopasowywania znaczników <table>, które nie zawierają słowa cellspacing, możemy użyć konstrukcji negatywnego wyszukiwania w przód:

  • <table\b(?![^>]*?\scellspacing\b)([^>]*)>

    • Opcje wyrażeń regularnych: ...

Get Wyrażenia regularne. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.