Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak wyciąć kawałek adresu strony?
Forum PHP.pl > Forum > Przedszkole
Sylwin
Jak wyciąć kawałek adresu strony i przypisać ja do zmiennych?

Chodzi o to aby np:

http://www.katalog.ngsystem.eu/wpis-11podkat-626.html

$wpis='11'
$podkat='626'

Jak to zrobić ?

Prosze o odpowiedź na podstawie tego linku smile.gif
nospor
  1. <?php
  2. $subject = "http://www.katalog.ngsystem.eu/wpis-11podkat-626.html";
  3. $pattern = '/-(d*)/';
  4. $matches = array();
  5. preg_match_all($pattern, $subject, $matches);
  6.  
  7. $wpis = $matches[1][0];
  8. $podkat = $matches[1][1];
  9. echo $wpis.' '.$podkat;
  10. ?>
Sylwin
Wielki dzięki smile.gif
Ale jak teraz zrobić żeby adres:

http://www.katalog.ngsystem.eu/wpis-11podkat-626.html

był zmienną:

$adres='http://www.katalog.ngsystem.eu/dodaj.php';

Czyli zeby kawałek wpis-11podkat-626.html zamieniał sie na dodaj.php ( ma to być uniwersalne)

questionmark.gif?
nospor
pokombinuj troche z wyrazeniami regularnymi. Akurat to co chcesz jest w miare proste.
http://www.republika.pl/wieluk/strony/wzorce.html
Sylwin
Coś mi nie idzie...sad.gif
nospor
To pokaz co robisz, a powiemy co robisz źle smile.gif

Oczywiscie tym razem musisz uzyc:
http://pl.php.net/manual/pl/function.preg-replace.php
maryaan
nie mozesz uzyc mod rewrite ?
Sylwin
Nie bardzo bo te adresy bedą wykozystane smile.gif Właściwie tylko tego mi brakuje do działania.]

Wydaje mi sie że ma to być coś takiego

  1. <?php
  2. $pattern = array('/wpis-11podkat-626.html/');
  3. $replace = array('dodaj.php');
  4. $subject = "http://www.katalog.ngsystem.eu/wpis-11podkat-626.html";
  5.  
  6. $adres= preg_replace($pattern, $replace, $subject, 1);
  7. ?>


Ale to ma być uniwersalne...
Jak to przerobić ?
nospor
Cytat
Ale to ma być uniwersalne..
Dlatego wlasnie podalem ci linka do wyrazeni regularnych...

  1. <?php
  2. $pattern = array('/wpis-(.*?).html/');
  3. ?>
Sylwin
Ok działa bardzo ładnie smile.gif teraz ostatni etap tworzenia skryptu smile.gif

Jak zrobic aby adresy katalogów wczytywały sie kolejno z pliku .txt ?

I zeby

$adres = "http://www.katalog.filozofia.pl/wpis-35podkat-724.html";

zamiast linku tego katalogu wczytywały sie kolejne z plku tekstowego smile.gifquestionmark.gif
nospor
juz nie przeginaj. teraz twoja kolej:
http://pl.php.net/manual/pl/function.file.php
Sylwin
No odczyt z pliku:

  1. <?php
  2.  $tablica = file('adresy.txt');
  3.  foreach($tablica as $linijka)
  4.  {
  5. echo $linijka.'<br/>';
  6.  }
  7. ?>



Tylko jak to zrobić zeby nie czytało wszystkich linijek tylki kolejne aż do konca pliku ?
nospor
nie poto dostales tego linka do manuala, by takie pytania zadawac...
Pierwszy przyklad z komentow:
  1. <?php
  2. $handle = @fopen('yourfile...', "r");
  3. if ($handle) {
  4.  while (!feof($handle)) {
  5.  $lines[] = fgets($handle, 4096);
  6.  }
  7.  fclose($handle);
  8. }
  9. ?>
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.