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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.