Autor Zpráva
Cenobit
Profil
Hi

mam takovy script, ktery by mel u vsech obrazku na strance zjistit zda maji spravne rozmery kdyztak je opravit. Fungujuje celkem dobre ale...

Potreboval bych bud vedet jak ziskat v poli vsechny tagy img ze stranky(retezce) nebo jak alespon SPOCITAT vsechny retezce "<img" na strance. V PHP je jen funkce, co to dokaze, ale je zavisla na velikosti pismen. Bohuzel neumi PERL, cimz padem odpadaji i funkce pro praci s pomoci PERL funkcemi.
Charlie
Profil
Bude to sice pomalé, ale dá se to takhle:
$counter = 0;

while (stripos($html_stranka,"<img") !== false) {
$counter += 1;
$html_stranka = substr($html_stranka,stripos($html_stranka,"<img"));
}

Není to citlivé na velikost písmen, celkový počet výskytů by měl být uložen v proměnné $counter.
Cenobit
Profil
hi

thx ale to je prilis pomaly. Za 30s zvladl 3 soubory
Charlie
Profil
No jo, jsem to říkal, že to je pomalý :-) Ale jestli jedeš na localhostu, tak to taky závisý na tvém hardware. Mám ještě jeden nápad:
$pole = array();

$pole = explode("<img",$html_text);
$pocet = count($pole);
Charlie
Profil
Aha, to je vlastně jen case-sensitive. Přidej před to:
str_ireplace("<img","<img",$html_text);

"<IMG" nebo "<iMG" nebo "<Img" to nahradí za "<img".
halogan
Profil
preg_match_all("/(<(?i:img)\s.+\/>)/", $string, $kam);
Cenobit
Profil
Hi

to nejak blbne. Jeste se na to kouknu a zkusim pouzit postupne odebirani casti retezce.
halogan
Profil
Pocita to s pouzitim / (uzavreni), promin, jeste jsem to upravil:

preg_match_all("/(<(?i:img)\s[^>]+)/", $string, $kam);
Cenobit
Profil
Hi

Diky halagon! Akorat jsem tam pridal >, aby to vzalo cely tag. Pro ostatni zde je cely kod i s vypisem vysledku:

preg_match_all("/(<(?i:img)\s[^>]+>)/", $obsah, $kam);

foreach ($kam[1] as $val) {
echo "<br>matched: " . htmlspecialchars($val) . "\n";
}

cely program bude nasledovat...))
halogan
Profil
Cenobit: Jo, promin, ve spechu mi to nejak vypadlo.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0