![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam coś takiego:
Kod <a href=http://moj.serwer.gdzies.com/img/123456.jpg><img src="http://moj.serwer.gdzies.com/img/123456.jpg" border=0 width=64 height=48 alt="super opis"></a>
jak z tego wyciagnac to co znajduje sie w alt?? Próbowalem przez substr() ale działa tylko w momencie gdy moge zapewnić stałą długość znacznika (nazwa pliku i katalogi musza mieć stałą wielkość. Rozumiem ze najlepiej byłoby wyciągnąć to poprzez wyrażenia regularne ale na tym sie nie znam (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Spróbowałem czegoś takiego: [php:1:ed34137c45]<?php $stronka=fopen("http://http://moj.serwer.gdzies.com/galeria.html","r"); if (!$stronka) { echo "brak strony<br>"; }else{ while (!feof($stronka)) { $temp=fgets($stronka, 1000); $wzor='^alt=[[:print:]]*></a>$'; eregi($wzor, $temp, $test); $licz0=0; for ($start=0; $start<=count($test); $start=$start++) { $opis[$licz0]=$test[$start]; $licz0++; } } } echo $opis[0]; ?>[/php:1:ed34137c45] I nie działa. Prawdopodobnie zły wzór, ale jak wyżej napisałem wyrażenia regularne to dla mnie czarna magia jak na razie. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
zbadaj to:
[php:1:de20e5c1d6]<?php ereg(".*alt=['"](.*)['"]", $twoj_tekst, $reg); echo $reg[1]; ?>[/php:1:de20e5c1d6] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
To niezupełnie działa. Na stronie jest ok 20-25 obrazków (galeria) a pokazuje mi grafike ktora jest na samym dole (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i nic wiecej. Potrzebuje by wyciagnac ten opis i wpisac go do jakiejs tabelki by latwo mozna na tym pracowac dalej.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No tak, ale jak wstawisz to do swojej petli, to kazda linia bedzie sprawdzana na obecnosc wyrazenia.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ok, znajduje poczatek wyrażenia (opisu z alta) wypisuje tekst (jak z przykladu):
super opis"></a><a href=...... i jak widac powyżej zczytuje jeszcze znacznik końca i nastepny znacznik a tego nie chce by wypisywał. Wiec to jeszcze nie to (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Powinien odczytac od znacznika alt=" do "> |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
[php:1:d6bb19e790]<?php
$str = '<a href=http://moj.serwer.gdzies.com/img/123456.jpg><img src="http://moj.serwer.gdzies.com/img/123456.jpg" border=0 width=64 height=48 alt="super opis"></a>'; preg_match_all( '|<img.*?alt="(.*?)".*?>|si', $str, $match ); print_r( $match[1] ); ?>[/php:1:d6bb19e790] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 1 Dołączył: 19.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hm, to dziwne, bo
[php:1:2fecf19459]<?php $s ='<a href=http://moj.serwer.gdzies.com/img/123456.jpg><img src="http://moj.serwer.gdzies.com/img/123456.jpg" border=0 width=64 height=48 alt="super opis"></a>'; ereg(".*alt=['"](.*)['"]", $s, $reg); echo '['.$reg[1].']'; ?>[/php:1:2fecf19459] daje mi w wyniku [super opis]. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Szczebrzeszyn Ostrzeżenie: (10%) ![]() ![]() |
Może wyrwę Was trochę z kontekstu topica, ale mam małe pytanko: czy ktoś opisał dokładnie po polsku (nie znaczy, że nie znam angielskiego) ten rozdział wyrażeń regularnych? Nie interesuje mnie ten rozdział z manuala, bo za wiele mi nie wyjaśnia.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 06:00 |