![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym napisać skrypt do usuwania bękartów w tekście. Zasada takiego skryptu jest prosta: zamienia on ciągi znaków typu "w Warszawie" na "w Warszawie", dzięki czemu taki ciąg jest przenoszony do następnej linijki i spójnik nie "wisi" na końcu. Problem polega na tym, że gdy w tekście są linki to wtedy dzieje się coś takiego: "<a href=" i wtedy link jest nie klikalny.
W tym momencie mam taki kod:
To wyrażenie nie bierze pod uwagę linków i w ogóle tagów. Jak powinno wyglądać wyrażenie, które wstawia twarde spacje w odpowiednich miejscach ale nie w tagach html? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 13.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Skoro ma nie łapać tagów, to może zrób sprawdzanie między ">" i "<" (tego regex'a co masz, plus > i < na końcach).
Jeżeli chcesz sprawdzać atrybuty, to zamiast > i < zrób [\",>] i [\",<]. Moim zdaniem wystarczy. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem wyłączenie tagów i teraz wyrażenie wygląda tak:
/[^\>\s]+(\s+)([\S]{1,3})[\s]+([^\s\<]+)/g funkcja, która zamienia tak:
Problem teraz jest taki, że w danym tagu zamieniany jest tylko jeden przypadek tzn. kod: po zastąpieniu wygląda tak: mimo, że wyrażenie jest z opcją globalnego wyszukiwania. Co zrobić, żeby wyglądał tak: ? Jeśli można to proszę napisać takie wyrażenie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:52 |