Může mi někdo napsat regulární výraz, kterým vyberu hodnotu "19" z toho konkrétního řetězce - o089,v, 19| o098 ?
Dopracoval jsem se k '#o089([0-9]+)\|/#' což by teoreticky mělo být funkční, ale bohužel není.
Tvůj dotaz, tak jak je formulovaný, nedává smysl.
Pokud ho vezmu doslova, tak stačí regex výraz /19/ který v řetězci podřetězec "19" najde a vybere. ;D
(na testování doporučuju třeba https://regex101.com/ )
Ale to určitě nemá být cílem.
$result = preg_replace("#o089.* ([0-9]+)\|.*#", "$1", $str);
Co tak hodit vic prikladu, jestli tam je pattern tzn vzdy ,cislo| bez toho bude kazdy reseni hadani ...
Uvedená hodnota "19" se mění, zbytek zůstává ve stejném formátu. (Ta 19 je teplota) , a ano, vždy je tam cislo|.
Nakonec jsem se dostal k preg_match_all('/o089,v,(.*?)\|/s', $str, $matches); což mi funguje.
Těch možností je spousta, tvoje řešení ale vybírá nejen číslo (teplotu) ale i mezery před ním.
Já bych třeba raději použil "/o089,v, *(-?\d*)\|/s" - ořežu mezery a vezmu v úvahu možnou zápornou teplotu.
Díky agent. Právě s tou mezerou jsem měl poté další problémy :)