Toon posts:

Php preg-replace

Pagina: 1
Acties:

Verwijderd

Topicstarter
Sorry dat ik iets vraag over preg-replace, maar na lang klooien zag ik geen andere uitweg :)

ik heb de volgende variabele in php:

$sizeklein, die heeft de waarde (width="75" height="51")

-> Tussen haakjes <-, dus letterlijk met die quotes...

Hoe boks ik het nou voor elkaar dat ik een variable
$sizegroot krijg die de waarde (width="300" height="306") krijgt, dus de waarden van $sizeklein, maar dan *6?

Ik wil dit gebruiken om een image weer te geven van de thumbnail, zonder dat ik opnieuw de size ga inlezen van het grote plaatje, omdat de verhouding altijd gelijk is.

Bedankt!

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
code:
1
2
3
4
5
6
7
function func($w, $h)
{
    $w *= 6; $h *= 6;
    return "width = \"$w\" height=\"$h\"";
}

$sizegroot = preg_replace("/width=\"([0-9]+)\" height=\"([0-9]+)\"/e", "func(\\1,\\2)", $sizeklein)

ofzo

  • tomato
  • Registratie: November 1999
  • Niet online
BarisArt: Sorry dat ik iets vraag over preg-replace, maar na lang klooien zag ik geen andere uitweg :)
Natuurlijk mag je iets vragen over preg_replace() ;)

Verwijderd

Topicstarter
Het werkt ook nog!

Wow :)

marcusk, bedankt!!!

Ohw ja, welterusten :7

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 06 december 2001 00:29 schreef tomato het volgende:

[..]

Natuurlijk mag je iets vragen over preg_replace() ;)
Ik verwacht nu eigenlijk dat je een andere oplossing geeft die ook werkt ;)

  • tomato
  • Registratie: November 1999
  • Niet online
Nielsz: Ik verwacht nu eigenlijk dat je een andere oplossing geeft die ook werkt ;)
Hmmm... vond die van marcusk niet verkeerd, maar omdat je zo aandringt (eigenlijk is het gewoon hetzelfde) :P
PHP:
1
2
3
4
5
<?
$p = '/width=[\'"]([^\'"]*)[\'"] height=[\'"]([^\'"]+)[\'"]/ie';
$r = '"width=\\"".($1*6)."\\" height=\\"".($2*6)."\\""';
echo preg_replace($p, $r, $s);
?>

Misschien nog een nuttige aanvulling ;)

[edit]
Eigenlijk is het een beetje zinloos dat ik hier rekening ga houden met eventuele singlequotes, omdat je zodra de input HTML niet vast staat nog wel meer dingen moet oplossen (tags tussen width en height, deze twee omgedraaid, etc...), maar ik vond het wel leuk om even erbij te doen ;)
Hoewel het een ranzige implementatie lijkt voor single- & doublequoting is het hier voldoende omdat je weet dat er slechts cijfers tussen staan.
Pagina: 1