Skocz do zawartości

Regex - zduplikuj pierwszy wiersz


mojeprogramy.com

Rekomendowane odpowiedzi

Mam bardzo dużą ilość plików txt
Pierwszy wiersz zawartości pliku to tytuł dokumentu

 

Szukam wyrażeń regularnych, chce:
1. Zduplikuj pierwszy wiersz (do drugiego)
2. Wstaw przed drugim wierszem (i tylko tam) jakąś treść np. xxxxxx
3. Po drugim wierszu wstaw yyyyyyyy

 

Czemu to ma służyć wszystko?
Przerabiam pliki na statyczne html
- przed 1 wiesz wstawię include headre.php
- a przed drugi i po drugim (który będzie H1) dalszą cześć strony

 

PS. Czy da sie jakoś wyciągnąć z pierwszego wiersza tytuł i na tej podstawie nazwać sam plik? bo obecnie mają nazwy 1-n.txt

 InternetSpeedTest.pl - speed test ookla, orange, upc, t-mobile, vectra | directX.pl - directx 9, 10, 11, 12 | kodex.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Nie trzeba regeksów.

1. file() i w wyniku tego otrzymujesz tablicę, gdzie jeden element - 1 wiersz z pliku (wiersz kończy się znakiem nowej linii).

2. array_shift() - wycinasz z tablicy pierwszy wiersz.

3. array_unshift() - dodajesz na początek tablicy nową tablicę, w której kolejne elementy to odpowiednio: xxxxxxxxx, wycięty tytuł z punktu 2, yyyyyyyyy.

4. file_put_contents().

 

PS naturalnie. Zawartość z punktu 2. przypisujesz tytułowi w punkcie 4.

PS 2 nie musisz modyfikować plików wcale, można to robić w locie jakimś skryptem pośredniczącym.

Odnośnik do komentarza
Udostępnij na innych stronach

14 godzin temu, mojeprogramy.com napisał:

PS. Czy da sie jakoś wyciągnąć z pierwszego wiersza tytuł i na tej podstawie nazwać sam plik? bo obecnie mają nazwy 1-n.txt

TAK i to na rożne sposoby. Zainteresuj się funkcjami
 

https://php.net/manual/pl/function.file.php

https://php.net/manual/en/function.file-get-contents.php

https://php.net/manual/en/function.explode.php

https://php.net/manual/en/function.file-put-contents.php

 

 

Oraz funkcją, która przygotuje SEO nazwę pliku czyli bez polskich znaków np:
 

https://stackoverflow.com/questions/2955251/php-function-to-make-slug-url-string

https://ourcodeworld.com/articles/read/253/creating-url-slugs-properly-in-php-including-transliteration-support-for-utf-8

 

itd....

 

 

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

z PHP jestem "noga", ale dziękuje za pomoc

poradzę sobie Regex-em

a dzięki ScrapeBoxowi + Excel dam radę nazwy wyciągnąć

 InternetSpeedTest.pl - speed test ookla, orange, upc, t-mobile, vectra | directX.pl - directx 9, 10, 11, 12 | kodex.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Regex do tego celu nie jest potrzebny, a wręcz bezużyteczny chyba że do podziału pliku na tablice linii, ale to zrobi funkcja explode lub wczytanie do tablicy proponowaną wcześniej funkcją file(). 

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności