Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] automatyczna zmiana w plikach
Forum PHP.pl > Forum > Przedszkole
craker
Witam,
piszę z takim pytaniem, a właściwie prosbą o rade i pomoc.
pisze sobie skrypcik, który otwierapo kolei kilka plików i dodaje w pewnym miejscu tekst. w związku z tym mam pytanie, zcy używając file() która pobiera zawartość pliku i umieszcza w tablicy mogę wykonać str_replace albo preg_replace questionmark.gif chodzi mi o to że otwieram plik a.php w którym chcę znaleźć fragment powiedzmy
Kod
if ($varible_x == 'brak')
{
do ....

....
}

i po tym ifie chcę dodać np.
Kod
else if ($varible_x != $varible_y) {
do...
...
...
}

czy mogę tojakoś tak wykonać, żeby budowa pliku się nie zmieniła, chodzi o wcięcia itp, no i czy mogę dodać wielo wierszowe linie kodu i jak szukać wielowierszowego kodu ?
Prym
dość konkretna zabawa wyrażeniami regularnymi.
zaczynajac od sprawy file to radziłbym pobrac zawartość pliku poprzez file_get_contents() - pobiera zawartość do stringu. natomiast wynajdowanie jakiejś konkretnej linii kodu zeby wstqawi pod nią cos dodatkowego to dość zagmatwane wyrażenie regularne w którym własnie musisz uwzględnić ewentualne łamanie lini co oznaczamy jako \r\n (koniec linii: \r - unix \r\n - win - jeśli nic nie pomyliłem smile.gif to bedzie tak)
i to by było z mojej strony na tyle bo samego wyrazenia ci nie stworze bo poprostu za rzadko bawię sie regularkami wiec by mi to zajęło pare dłuższych chwil i testów - ale moze jest jakis spec na forum
craker
dzięki i za to. mam nadzieje że ktoś będzie w stanie mi pomóc smile.gif

tak sobie teraz myślę, czy nie łatwiej będzie np znaleźć linijkę z kodem i zamienić ją na tą samą linie z dodanymi moimi liniami?
wygląda lepiej, ale gorsze do zrealizowania może być znalezienie tej konkretnej linii bo fragment chyba lepiej, ale cóż popracuje nad tym
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.