Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrażenia regularne
gkeb
post
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.
Go to the top of the page
+Quote Post
netzah
post
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]
Go to the top of the page
+Quote Post
gkeb
post
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.
Go to the top of the page
+Quote Post
netzah
post
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.
Go to the top of the page
+Quote Post
gkeb
post
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 ">
Go to the top of the page
+Quote Post
BzikOS
post
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]
Go to the top of the page
+Quote Post
netzah
post
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].
Go to the top of the page
+Quote Post
rze-X-nik
post
Post #8





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Szczebrzeszyn

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 06:00