Autor Zpráva
PecanCZ
Profil
Zdravím, mám v php mám preg_replace: preg_replace(array('/width=\"(.*)\"/','/height=\"(.*)\"/','/&sd/'),array('width="550"','height="470"','&hd=1'),$post_embed);

ovšem když do pole zadám např. width="0" height="0" &sd tak výsledek je width="550" &hd=1. Nevíte někdo, proč height úplně vymizí?
Děkuji za odpověď
Tori
Profil
Protože první .* sežere všechno mezi první a úplně poslední uvozovkou, tedy označený text: width="0" height="0".
Můžete a) změnit kvantifikátor, aby nebyl tak žravý: '/width=".*"/U' nebo '/width=".*?"/', nebo b) omezit hodnotu atributu jen na číslice: '/width="\\d*"/'
PecanCZ
Profil
díky moc :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: