У меня есть строка, которую я хочу очистить и поместить в массив, чтобы я мог искать его в mysql.php взорвать что-то в массив, но используя значения между
// Here's one example of what the string might have:
$string1 = "(1) *value1* *value2*; (2) *value3* *value4* *value5*; (3) *value6*";
// And here's another possibility:
$string2 = "*value1* *value2* *value3* *value4*";
// I want to remove all the "(#)" stuff, and explode all the values into an array
// This is what I have so far:
// $string can be like the examples $string1 or $string2
$string_clean = str_replace("* *","",trim(preg_replace("/\((\d)\)/i", "", $string)));
$my_array = explode('*', trim($string_clean, '*'));
Однако, это то, что я получаю:
Array ([0] => value1 [1] => [2] => value2 [3] => [4] => value3 [5] => [6] => value4 [7] => [8] => value5)
Я полагаю, я мог бы просто найти функцию, чтобы удалить все пустые элементы из массива, но мне интересно, есть ли более эффективный способ сделать это?
Если ваши значения не содержат пробелов, вы можете 'str_replace()' away' * 'и'; ',' preg_repalce() 'away' (#)', а затем 'explode()' on '" "' чтобы получить все значения. –