Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zmiana znaku nowej linii
iksigrek
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 19.08.2009

Ostrzeżenie: (0%)
-----


Witam.

Jestem na etapie poznawania regEpxów i mam problem z usunięciem znaku nowej linii. Chciałbym go zastąpić znakiem spacji.
W stringu który przetwarzam udaje mi się zamienić znaki nowej linii, gdzie nowe linie zaczynają się od odstępów wyrażeniem /(\n[[:space:]]*)/
To działa. Jednak z jakiegoś powodu, gdy już "wyczyszczę" string - czyli pozostaną jedynie linia + znak nowej linii + nowa linia zaczynająca się znakiem od samego początku - nie udaje mi się zredukować znaków nowej linii do spacji. Próbowałem np /\n/ - zmiana na ' ', /\n$/, /[\n]/, (\n), (\n|$), (\n)$ i tego typu kombinacje. Nic nie wychodzi ; (

Dodam, że moim celem jest jak najskuteczniejsze zredukowanie niepotrzebnych znaków, tak by kod ważył jak najmniej. Nie musi być czytelny, jednak powinien się ładować jak najszybciej.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
iksigrek
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 19.08.2009

Ostrzeżenie: (0%)
-----


Nie do konca, bo to tez nie działało.
Jednak już wiem dlaczego. Problem tkwił w tym, że podawałem tablicę dla preg_replace i /(\n[[:space:]]*)/ + właśnie "\n" jako argument.
Skoro klasa [:space:] zawiera już \n, czego nie zauważyłem, do tego zamiast asteriksa trzeba wstawić +, by nie robiła się zadyma. Wystarczyło zrobić /([[:space:]]+)/ i jest git. Dzięki za pomoc mimo wszystko. pozdr.
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 03:14