ok, have complex problem guys.
i trying extract values load of old data. it's bunch of strings 7 parts concatenated ||
test1||keep||1:1||test||3462||7885||test rules
each section of string have character in it, except
|or 2 arrows<>(see further down) reserved separators.any of sections empty.
e.g. in 1 first 1st, 5th , 6th sections empty, , 3rd contains lots of non-alphanumeric characters.
||keep||test's\ (o-kay?).go_od||test||||||test furthermore...
some of strings made of multiple ones of these 7 pieces, further separated <>
test1||keep||1:1||test||3462||7885||test<>test1||keep||1:1||test||3462||7885||test<>test1||keep||1:1||test||3462||7885||test remember, of inner sections empty.
test54||keep||test's\ (o-kay?).go_od||test||||||<>test||keep||test545's'/.||test||||test||test the goal
extract second part of every string, , put array. in examples above, every part has word keep inside.
so example:
||keep||test's\ (o-kay?).go_od||test||||||test i want get:
array('keep') and example:
test1||keep-me||1:1||test||3462||7885||test<>||keep||||||3462||7885||<>test1||keep-me-too!||1:1||test||3462||||test it can seen 3 different strings separated <>:
test1||keep-me||1:1||test||3462||7885||test ||keep||||||3462||7885|| test1||keep-me-too!||1:1||test||3462||||test and want extract:
array('keep-me', 'keep', 'keep-me-too!') notes
i have tried doing preg_match look-behind doesn't searching non-fixed length strings.
i cannot change data. old data have work with.
$array = []; $strings = explode('<>', $yourcontent); foreach ($strings $string) { $array[] = explode('||', $string)[1]; } this uses array dereferencing introduced in php 5.4.
Comments
Post a Comment