![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
krótkie pytanie: chcę wyciągnąć zawartość atrybutu "src" z obrazka znajdującego się w jakimś ciągu. Mam:
Co do zasady wszystko jest ok, dostaję wynk: Kod Array ( [0] => Array ( [0] => <img alt="ikona Info" src="http://localhost/doc/test/info.png" title="ikona Info" width="12" height="12"> [1] => <img alt="ikona PDF" src="http://localhost/doc/test/pdf.png" width="12"> ) [1] => Array ( [0] => info.png [1] => pdf.png ) [2] => Array ( [0] => > [1] => > ) [3] => Array ( [0] => [1] => ) ) Niestety specem od regexp'ów nie jestem, dlatego proszę pomoc: jak się pozbyć pustych kluczy 2 i 3? Oczywiście na drodze modyfikacji wyrażenia. Dzięki za pomoc! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 20.06.2005 Skąd: Bielsk Podlaski Ostrzeżenie: (0%) ![]() ![]() |
Można ich się pozbyć usuwając dwie ostatnie pary nawiasów ('/<img[\s]+[^>]*?src*?[\s]?=[\s\"\']+(.*?)[\"\']+.*?src*?[\s]?=[\s\"\']+.*?[\"\']+.*?>|>/i' ), ale wtedy to wyrażenie może nie działać poprawnie. Może takie wywołanie funkcji preg_match_all da efekt który będzi Ci lepiej odpowiadał:
Ten post edytował Louner 20.06.2009, 14:19:13 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A czemu wolne regexpy do tego?
Kod $xml = new SimpleXMLElement($string);
$result = $xml->xpath('//img[@src]'); print_r($result); |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Louner - niestety całość się sypie. Próbowałem usuwać różne elementy, ale nie udaje mi się.
viking - rozwiązanie ciekawe, ale po zastosowaniu do mojego ciągu (po wsadzeniu całości w <html><body>...) zwraca mi pustą tablicę... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
SOA#1 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Kod $string = '<html><body>Lorem ipsum <img alt="ikona Info" height="12" src="info.png" title="ikona Info" width="12" /> dolor sit amet <img alt="ikona PDF" src="pdf.png" width="12" /></body></html>'; $xml = new SimpleXMLElement($string); $results = $xml->xpath('//img[@src]'); foreach ($results as $result){ echo $result['src']; } U mnie wypisuje: info.pngpdf.png |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Heh, głupia sprawa. Miałem identyczny kod - nie działał. Wracam do roboty, uruchomiłem apache'a ponownie, żeby zabrać się za to i działa... Dzięki.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:32 |