[php] csv replace rosszul működik.

[php] csv replace rosszul működik.
2018-08-28T10:59:43+02:00
2018-08-28T13:27:34+02:00
2022-08-11T05:55:30+02:00
Browni95
Sziasztok!

Van egy csv fileom, amibe ki kell cserélni egy  választó karaktert ","-re.

Írtam egy kódot, viszont a drága karakterenként ver egy vesszőt, sajnos nem jövök rá hol hibázok. :(

<?php $csv = file_get_contents("asdjo.csv"); $search ="|||"; $replace =","; $csv = preg_replace("/(^|\s)$search(\s|$)/si","\1$replace\2",$csv); file_put_contents("asdjo1.csv",$csv); ?>
Mutasd a teljes hozzászólást!
Hali!

Ebben az esetben tényleg nem megfelelő a reguláris kifejezés, ugyanis sem előtte, sem után nincs whitespace (illetőleg nem a szöveg elején és/vagy végén van). Próbáld meg a következő kifejezést:
$search = '|||'; $replace = ','; $searchPattern = '/'.preg_quote($search, '/').'/si'; $csv = preg_replace($searchPattern, $replace, $csv);
Persze, ez egy kicsit általánosabb, de azt tartsd szem előtt, hogy akár máshol is cserélheti a „háromvonalat”.

Mutasd a teljes hozzászólást!

abcd