Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cURL
Forum PHP.pl > Forum > PHP
Smoker
zamysł strony:
na swojej stronie MojaStrona.pl chce wyświetlić np portal nazwa.pl, nie chce ramek wiec skorzystałem z cURL'a i skrypt ładnie pobiera całe źródło html jednak jak wiadomo obrazki zostają tam, a link od obrazka teraz prowadzi do mnie (<img src="obrazek.jpg">) przez co strona wyświetla się bez grafiki.

połowa sukcesu, bo po dodaniu do kodu html "base href" z adresem nazwa.pl ładnie działa - jednak musze to zmienić bowiem nie tylko obrazki a linki tez bazują teraz na linku nazwa.pl co mi nie bardzo pasuje, poniewaz po kliknieciu gdziekolwiek ucieka z mojej strony przechodzac na nazwa.pl

base przyjmuje tylko 2 atrybuty (href i target) wiec szukam mozliwego innego rozwiazania aby jednoczesnie pokazaly sie obrazki i linki dalej prowadzily na moja strone (cos jak wirtualna subdomena)

moze cos zamiast cURL'a chociaz bo ja wiem czy to cos zmieni
jarmiar
file_get_content() oraz wyrażenie regularne w funkcji preg_match() do przeparsowania adresow

za wiele tym nie zdzialasz jednak
Smoker
zmiana cURL'a na inne funkcje nic nie zmieni, cały kod html mam w jednej zmiennej wiec jest gotowy np na preg_match
mialem nadzieje na cos, co szybciej zadziala jak ten base href z ta różnicą, że tylko dla css i img
jeśli nie to trudno, bede wertował cały kod html jednak przy wiekszych stronach zajmie to niepotrzebnie dużo czasu

ewentualnie co bedzie szybszy preg_match czy str_replace ? w sumie w tym wypadku bede mial do znalezienia tylko href=" i dodanie mu mojego adresu
szmerak
Po pierwsze to preg_replace tongue.gif
i wydaje mi się że nie ma innego wyjścia aby pozmieniać src= z /img na z http:// czymś innym niż preg_replacem
Smoker
jesli link nie jest scisle zwiazany ze strona np src="images/obraz.jpg to str_replace tez da rade smile.gif
jesli chodzi o preg_replace to juz ide do manuala i wracam z wieksza wiedza bo nie mialem okazji z niego nigdy skorzystac smile.gif

coś mi nie idzie sad.gif
jak zapisać zeby wpisał http://nazwa.pl tylko wtedy kiedy tam nie ma juz wpisanej innej nazwy
np ktos moze pobierac u siebie juz obrazek z innej strony src="http://innastrona.pl/img.jpg" i jak do tego dodam jeszcze http://nazwa.pl zamiast z niedzialacacego zrobic dzialajacy to popsuje dzialajacy smile.gif

-------------
edit:
dobra mam już prawie wszystko jeszcze tylko css, jakim wyrażeniem regularnym znajde <link [dowolny ciag znakow, litery,',"] href=' lub "
chodzi o to, ze <link> moze miec rozne atrybuty poukladane w dowolnej kolejnosci
ref href type

$reg = "/(link).*(stylesheet).*(href=\")/";
nie wiem ile w tym poprawnosci bo z regularnych noga jestem ale dziala smile.gif
nekomata
Do regularnych polecam mały 'programik' : Regex Coach , nie ma żadnego podpowiadania czy czegoś , ale można na bieżąco sprawdzać czy działa , są 2 pola : regexp i target string . Podświetla co zmieniony znak więc łatwo wypatrzeć błędy i literówki.
jarmiar
W edytorze notepad++ też jest taka możliwość
kiler129
Można też użyć http://txt2re.com jeśli się nie umie samemu pisać wink.gif
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.