Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Modyfikacja wybranej linii
Forum PHP.pl > Forum > PHP
dehaes
Witam serdecznie,
potrzebuję małej podpowiedzi jak zmodyfikować w takiej linii znajdującej się w pliku .js:

var adres = "http://adres.pl";

samą zawartość znajdującą sie cudzysłowiach. Problem w tym, że na różych stronach ta zmienna będzie mieć inna wartość, a chce, żeby osoba miała możliwość jej zmiany bezwzględu na jej zawartość. Z góry dziękuję za pomoc.
toaspzoo
zainteresuj się file_get_contents http://php.net/manual/en/function.file-get-contents.php
oraz explode http://php.net/manual/en/function.explode.php


Za pomocą explode ( explode("\n", $plik); ) tworzysz tablicę, dzięki której możesz odnieść się do określonej linii w pliku smile.gif
cudny
Już raczej od explode to preg_replace(); ale dla czego nie możesz użyć po prostu javascriptu podkładającego wartość?
toaspzoo
@cudny - to może być niebezpieczne biggrin.gif
cudny
biggrin.gif jak chce coś zrobić to niech robi to dobrze wink.gif

Wiesz, że to nie zadziała explode('\n', $plik); tongue.gif ?
Białe znaki muszą być obejmowane w podwójny cudzysłół tongue.gif explode("\n", $plik); shades.gif
crocodillo
  1. $fileName = 'file.js'; // Twój plik
  2. $new = 'http://example.org'; // nowy adres
  3.  
  4. $js=file_get_contents($fileName); // wczytanie pliku
  5. file_put_contents($fileName,preg_replace('/(var[ ]+adres[ ]*=[ ]*")[^"]*/i','$1'.$new,$js)); // zamiana i zapis
PiotrekM
Cytat
jak chce coś zrobić to niech robi to dobrze

to niech nie robi tego w ten sposób.
Prościej jest dać zmienną w pliku layoutu, coś w tym stylu:

  1. ...
  2. var url = '<PHP echo Url::base();?>';
  3. </head>
  4. ....
  5. </body>
  6. </html>
cudny
Cytat(PiotrekM @ 21.03.2012, 01:39:37 ) *
to niech nie robi tego w ten sposób.
Prościej jest dać zmienną w pliku layoutu, coś w tym stylu:

  1. ...
  2. var url = '<PHP echo Url::base();?>';
  3. </head>
  4. ....
  5. </body>
  6. </html>


Pisałem przecież o tym:

Cytat
Grupa: Zarejestrowani
Postów: 244
Pomógł: 31
Dołączył: 31.03.2005
Skąd: Kielce

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


Już raczej od explode to preg_replace(); ale dla czego nie możesz użyć po prostu javascriptu podkładającego wartość?

toaspzoo
@cudny, moja pomyłka smile.gif
WiruSSS
Cytat(PiotrekM @ 21.03.2012, 01:39:37 ) *
to niech nie robi tego w ten sposób.
Prościej jest dać zmienną w pliku layoutu, coś w tym stylu:

  1. ...
  2. var url = '<PHP echo Url::base();?>';
  3. </head>
  4. ....
  5. </body>
  6. </html>



chyba raczej: script a nie style tongue.gif
redeemer
Jeżeli wartość tej zmiennej jest zawsze taka sama jak domena na której masz ten skrypt, to nie trzeba kombinować. Wystarczy użyć document.domain
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.