Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]operacje na plikach.. jak?
Forum PHP.pl > Forum > Przedszkole
dadexix
Witam, mam takie 2 pytania....

1. Jak otworzyć plik na innym serverze(próbowałem fopen("http://a.pl/a.php","r"); ale pokazuje mi że allow_url_fopen jest wyłączony w konfiguracji - jak to zrobić za pomocą curl...? lub może da się za pomocą fsock_open? chce by dane z tamtej strony były w zmiennej bym mógł na tym operować)


2. Czy mógł by mi ktoś powiedzieć jak w php zrobić skrypcik który zamieni wszystkie określone ciągi znaków w pliki zmieni na entery? i potem powtarzające się entery(czyli jeśli są 2 lub więcej pustych lini pod sobą) zamienia na jeden?

Z góry dziekuje:)
Pozdrawiam:)
dziurson
ad. 2) str_replace() + jakaś pętla
Liko
Ad. 1 - http://pl.php.net/manual/en/function.fsockopen.php - i wszystko jasne. Masz podany przykład.
Ad. 2 - Zajrzyj do manuala, a w szczególności do funkcji: str_replace, oraz do funkcji wyrażeń regularnych i spróbuj wykombinować. Później pokaż co się udało i pomożemy dalej smile.gif
dadexix
jakaś pętla... nie dużo mówi.. myslałem o wyrażeniach regularnych ale nie zbyt umiem się tym posługiwać...
Liko
Funkcja str_replace" title="Zobacz w manualu PHP" target="_manual zamienia podany ciąg znaków na inny, więc dzięki temu możesz wstawić entery zamiast określonych (jednakowych) ciągów znaków. A jeżeli chcesz zamienić kilka enterów to najlepiej użyj wyrażeń regularnych np. preg_replace" title="Zobacz w manualu PHP" target="_manual. Proszę poczytaj trochę o wyrażeniach regularnych PERL-a, przyda Ci się ta wiedza teraz oraz na pewno wykorzystasz ją później!

Ad. 1
  1. <?php
  2. $str  = "Line 1\nLine 2rLine 3r\nLine 4\n";
  3. $newstr = str_replace(array("r\n", "\n", "r", "wyraz"), "\n", $str);
  4. ?>


Ad. 2.2
  1. <?php
  2. $newstring = preg_replace("/[\nr]{2,}/","\n",$subject);
  3. ?>


Powinno działać...jak coś to pisz smile.gif
dadexix
Wielkie dzięki... z częścią sobie poradzilem:)

co do czytania.. czytałem ale widocznie trafiłem na jakiś nie tego artykół bo nie kapowałem nic... pomyślałem że ja za głupi na to haha.gif w innym arcie już było lepiej opisane i coś czaje... ale nie mam pojęcia jak mogę zrobić coś takiego....:

mam różnie adresy... i z nich chce wyciągnąć wybrane...

kawałek listy adresów

Kod
http://rssout.idg.pl/nw_storage/news_public_utf.xml
http://rssout.idg.pl/nw_storage/news_public_iso.xml
http://rssout.idg.pl/nw_storage/news_utf.xml
http://rssout.idg.pl/nw_storage/news_iso.xml


a ja chce mieć tylko to:

Kod
http://rssout.idg.pl/nw_storage/news_public_utf.xml
http://rssout.idg.pl/nw_storage/news_utf.xml


czyli chce wyciągnąć co drugą linie... a inaczej mówiąc wszystkie które mają utf.xml/utf.rdf na końcu... jak coś takiego zrobić...? jak zrobić takie wyrażenie?


Z góry dzięki:D:D

Pozdrawiam:)
marcio
moze preg_match()
dadexix
Kod
<?
$ha = "http://rssout.idg.pl/centra_notebooki/news_iso.xml
http://rssout.idg.pl/centra_podzespoly/news_utf.xml";
preg_replace("http://(.*)utf.xml"," ",$ha);

[..]

?>

error:
Kod
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in [..] on line 4

hm? pomoże ktoś?


edit: dałem code zamiast tagów php bo zmieniało linki na kod html...
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.