Zdravím, řeším takový problém. Mám článek a v něm jsou obrázky. Chtěl bych udělat na úvodní stránku výpis dejme tomu 5 článků. A u každého bych chtěl aby se zobrazoval zmenšený obrázek co v tom článku je....(pokud tam někde bude).
Jde mi o to, jestli nevíte nějaký elegantní způsob jak v tom textu najít tag img a vycucnout z něj informace (src, width, height, alt). Abych jej mohl vložit do náhledu článku na té úvodní straně.
Díky moc
Fórum › PHP
Obrázek v článku
zdravim :)
elegantni reseni budou regularni vyrazy, moc je neovladam, ale z hlavy zkusim napsat
$regVyraz = "/\<img src=\"([^\"]+)\" width=\"([^\"]+)\" height=\"([^\"]+)\" alt=\"([^\"]+)\"\>/";
nevim, jestli se < a > musi escapovat ...
pak uz by melo stacit pouziv http://cz.php.net/manual/cs/function.preg-match.php a melo by ti to vratit potrebne udaje
jinak jeste drobnost: atributy obrazku musi byt napsany v tomto poradi, pokud je mas jinak, tak si uprav reg vyraz ...
Strašně moc díky. Trošku jsem tvůj regulární výraz rozkouskoval, aby nemusely být obrázky ukládány tak striktně...
Taky jsem použil "líný" kvantifikátor, což mi pomohlo k tomu, že si najdu jen první obrázek v textu...
O výsledný zdroják se s vámi rád podělím.
preg_match("/\<img.*?\/>/", $text, $matches, PREG_OFFSET_CAPTURE);
$img = $matches[0][0];
preg_match("/width=\"([^\"]+)\"/", $img, $matches, PREG_OFFSET_CAPTURE);
$width = $matches[1][0];
preg_match("/height=\"([^\"]+)\"/", $img, $matches, PREG_OFFSET_CAPTURE);
$height = $matches[1][0];
preg_match("/src=\"([^\"]+)\"/", $img, $matches, PREG_OFFSET_CAPTURE);
$src = $matches[0][0];
preg_match("/alt=\"([^\"]+)\"/", $img, $matches, PREG_OFFSET_CAPTURE);
$alt = $matches[0][0];
$max = 100;
if($max < $width || $max < $height){
if($width > $height){
$pomer = $max / $width;
$new_width = $max;
$new_height = $height * $pomer;
} else{
$pomer = $max / $height;
$new_height = $max;
$new_width = $width * $pomer;
}
}else{
$new_width = $width;
$new_height = $height;
}
echo "<img {$src} {$alt} width=\"{$new_width}\" height=\"{$new_height}\" />";
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 8 hostů
Podobná vlákna
Obrázek — založil honzik242
Obrázek — založil KongliP
Obrázek — založil šachy
Picturebox a obrazek — založil Lochneska
Moderátoři diskuze