Hoi,
ik ben echt een prutser in regular expressions, en nu wil ik graag iets doen waarvoor ik het echt nodig heb.
Ik wil in een stuk code alle images opzoeken, er de attributen width, height en src ervan ophalen, en er daarna iets omheen kunnen zetten.
Ik heb al in veel tutorials gekeken, maar ik vind het echt heel lastig, en ik hoop dat er hier iemand is die er veel verstand van heeft, en mij kan helpen.
Ik ben geen reguliere expert ;-), maar ik had onlangs RegexBuddy geinstalleerd, niet dat je daar nu veel aan hebt, maar het controleert in ieder geval gelijk waar het fout gaat, en ik ben tot dit resultaat gekomen.
met (\s+) duid ik aan van dat in deze locatie een of meerdere spaties worden verwacht.
Tevens elke (...) resulteert in dat de gevonden gegevens terug te koppelen zijn in de nieuwe formaat (dus \\1 zal spaties weergeven \\2 de verwijzing naar het plaatje, \\3 wederom spaties, \\4 de hoogte, \\5 wederom spaties en \\6 de breedte
Waarom kan het beter?
Nou zodra er andere attributen zijn, dan werkt de regulare expressie niet meer... dus dit zal je oplossing niet zijn, maar wellicht krijg je nu wat inzicht in deze leuke materie.
Hmm, ik snap het al.
Maar nog een vraagje, kun je eerst die width,height,en src (\\2,\\4 en \\6 dus) opslaan in een variabel, om er dan nog wat mee te doen, voordat het vervangen wordt?
Dus bijvoorbeeld
<?php
if($widthvanplaatje >= $heightvanplaatje)
{
preg_replace('#<img(\s+)src="(.+?)"(\s+)height="(.+?)"(\s+)width="(.+?)"(\s+)/>#is',"de width is groter dan de height", $sInvoer);
}