miten preg_replacella voi muuttaa aikaleiman ajaksi tunnit : minuutit
noin olen yrittänyt vaan en osaa.
$hae = preg_replace("/[0-9]{10}/", date('H:i', \1), $hae);
Eikös toi date('H:i',$timestamp) tee sen suoraan ilman mitään preg_replacea?
Ehkä tarkoitus oli tulkita muun tekstin seassa olevat epämääräiset lukujonot aikaleimoiksi? Täytyy vain ihmetellä, miten ne ovat tekstin sekaan edes joutuneet.
Tuossa nyt on koko PHP:n syntaksi niin hakusessa, että varmaan jonkin alkeisoppaan lukemisesta olisi hyötyä. Ehkä tarkoitus oli, että date-kutsu olisi lainausmerkeissä ja sen sisällä vielä \1 hipsuissa, ja silloinkin lausekkeen lopusta puuttuu vielä se e-valitsin, jonka kanssa korvaava teksti ajettaisiin vielä PHP-koodina.
Usein on kyllä helpompaa käyttää preg_replace_callback-funktiota tällaisiin korvauksiin, jos tehtävä muunnos ei ole aivan äärimmäisen lyhyt.
tämä ei mene läpi
<?php $koe = "1012342345 tässä tekstiä"; $koe = preg_replace("/[0-9]{10}/e", date("H:i", '\0'), $koe); ?>
Oikeesti... ne kooditagit.. :(
peg kirjoitti:
$koe = "1012342345 tässä tekstiä"; $koe = preg_replace("/[0-9]{10}/e", date("H:i", '\0'), $koe);
https://www.php.net/preg_replace example #4, funktiokutsu lainausmerkkeihin ja regexp-muttujat vaativat tupla-escapen.
<?php $koe = "1012342345 tässä tekstiä"; $koe = preg_replace("/[0-9]{10}/e", "date('H:i', '\\0')", $koe);
Kannattaa kuitenkin ihan tosissaan tutustua https://www.php.net/manual/en/function.preg-replace-callback.php -funktioon.
pwc ehti näköjään ehtikin jo tuossa välissä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.