Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wycinanie elementu kodu
Forum PHP.pl > Forum > Przedszkole
dark_root
Potrzebuje pewnego kodu, ale nie mam nawet koncepcji jak się do tego zabrać.
Niezbędny mi jest skrypt, który otworzy skrypt innej strony i wytnie jego element znajdujący się między odpowiednimi znacznikami. Da się takie coś zrobić?
jareeny
Na tym samym serwerze czy z innego serwera? i jaki kod??
dark_root
kod html z innego serwera
jareeny
No to może użyj cURL'a to otwarcia pliku i napisz prosty parser, który pobierze odpowiednią część kodu
dark_root
No i mi właśnie chodzi o ten parser, nie wiem jak on ma wyglądać, bo całą resztę już mam.
jareeny
Poczytaj o wyrażeniach regularnych winksmiley.jpg
dark_root
Ok, dzięki już co nie co mam koncepcje jak takie coś powinno wyglądać.

Mam taki kod
Kod
<?

$tekst = "To jest tekst. Tego zdania nie będzie widać.";

$zdanie = substr($tekst, 0, strpos($tekst, "."));

?>

Nie wyświetli on wszystkiego po kropce. Interesuje mnie podobny skrypt, który jednak nie będzie będzie wyświetlał kodu przed kropką. Jak powinien on wyglądać?
bhacas
  1. <?php
  2. $tekst = "To jest tekst. Tego zdania nie będzie widać.";
  3. $temp = explode('.',$tekst);
  4. $zdanie = $temp[1];
  5. ?>

Edytowalem, teraz powinno byc dobrze.
dark_root
Wyskakuje taki bląd
Kod
[b]Parse error[/b]:  syntax error, unexpected '[' in [b]/home/a3999426/public_html/dl.php[/b] on line [b]4[/b]


ok, teraz działa.

A można zrobić coś w rodzaju połączenia funkcji explode i substr, żeby skrypt wycinał element kodu z przed jednego znaku i po drugim innym znaku np.
Kod
asasa.lllllll,asasa

gdzie kod ma wyciąć wszystko z przed kropki i po przecinku.
bhacas
Mozna 2 razy skorzystac z exploda:

  1. <?php
  2. $tekst = "asasa.lllllll,asasa";
  3. $temp = explode(',',$tekst);
  4. $zdanie = $temp[1]; //tu bedzie tekst po przecinku
  5. $temp = explode('.',$tekst);
  6. $zdanie2 = $temp[0]; //tu bedzie tekst sprzed kropki
  7. ?>
dark_root
No tak, ale kod będzie wyświetlał w zależności od tego co wywołam albo
Kod
asasa.lllllll

albo
Kod
lllllll,asasa

Ja chce wyświetlić samo "asasa", urywając tekst z przodu i tyłu.
bhacas
w zmiennej $zdanie będzie tekst który znajduje się po przecinku a w $zdanie2 tekst sprzed kropki.
Najpierw sprawdź a potem pytaj.
dark_root
Rzeczywiście, wielkie dzięki za pomoc. Z przyjemnością wstawię Ci pomógł. Rzeczywiście mogłem najpierw sprawdzić skrypt wstydnis.gif

A można wyciąć kilka elementów kodu odległych od siebie, które zarówno przed sobą jak i za sobą mają takie same elementy kodu np.
Kod
wycinamy, widać mnie, tego juz nie widać
wycinamy, mnie też widać, tego już nie widać

Jak zrobić, żeby wyświetliło się
Kod
widać mnie  i mnie też widać
?
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.