Beste mensen,

Ik heb de volgende $string:



$string = '
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:Standaardtabel;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";
	mso-bidi-font-family:"Times New Roman";}
</style>';


Ik wil de font-size en font-family eruit kunnen halen en in een array stoppen.
Hoe kan ik deze er ooit uit halen?

str_replace gaat niet werken...

Bedankt voor uw reactie
Kijk even naar de preg_...()-functies.
Daarmee is dat heel makkelijk.
Je kan ook explode() gebruiken.... 2 regeltjes extra, maar wellicht wel sneller in elkaar te zeggen.
De preg-functies zijn namelijk redelijk ingewikkeld.
oke dus gewoon gaan zoeken op preg functions?
<?php
$aLines = preg_split('#\s*[\{\};]+\s*#', $string);
foreach($aLines as $sLine){
if(!is_int($iPos = strpos($sLine, ':'))) continue;
$name = substr($sLine, 0, $iPos);
$value = substr($sLine, ($iPos + 1));
var_dump($name);
var_dump($value);
}
?>

De beperking van dit script is wanneer er waarden tussen quotes staan waarin of {, } of ; staat...
De preg-functies zijn namelijk redelijk ingewikkeld.
Valt toch wel mee? Alleen moet je er geen beginners mee opschepen... Dat is wel een beetje zo.
Maar als ik zo even moest kijken hoe je dat met explode o.i.d. zou moeten gaan oplossen, dan ben je volgens mij wel even bezig...
@Jan, niet bumpen. Edit je post gewoon.

Betreffende het topic, dit probleem kan op honderd-en-een manieren opgelost worden. Kan via explode op newlines of via bijvoorbeeld regular expressions.
@Jan, niet bumpen. Edit je post gewoon.
Tsjonge, jullie vatten echt wel alles op als bumpen zeg...
In de eerste post reageerde ik op de originele vraagstelling van de TS en toen ik deze ingezonden had, zag ik dat er twee anderen waren, waar ik even op gereageerd heb. Als je dat ook onder de nummer bumpen plaats: Your interpretation, ik heb er geen baat bij, dus persoonlijk noem ik dat geen bumpen gezien het werkelijk een nieuwe reactie is op de post.

Betreffende het topic, dit probleem kan op honderd-en-een manieren opgelost worden. Kan via explode op newlines of via bijvoorbeeld regular expressions.
Yep, alleen het één is efficiënter dan het andere. Als de TS weinig tijd heeft en enkel een paar dingen uitzoekt binnen het geheel, zou ik niet een volledige CSS-parser in PHP gaan schrijven om zoiets voor elkaar te krijgen. Het is natuurlijk wel een beetje kosten tegen baten afwegen.
Bedank voor de hulp! ik weet waar ik nu moet zoeken.

Ben al een eindje;)
Heb je mijn code overigens al geprobeerd (ben namelijk zelf ook benieuwd of het werkt) :P

Reageren