У меня есть следующий код
<code>$str = "keyword keyword 'keyword 1 and keyword 2' another 'one more'".'"another keyword" yes,one,two';
preg_match_all('/"[^"]+"|[^"\' ,]+|\'[^\']+\'/', $str, $matches);
echo "<pre>"; print_r($matches); echo "
";
Где я хочу извлечь ключевые слова из строки и сохранить их в одинарных или двойных кавычках, этот код работает хорошо, но возвращает значения с кавычками. Я знаю, что могу удалить их через str_replace или подобное, но я действительно ищу способ решить эту проблему с помощью функции preg_match_all.
Выход:
Array
(
[0] => Array
(
[0] => keyword
[1] => keyword
[2] => 'keyword 1 and keyword 2'
[3] => another
[4] => 'one more'
[5] => "another keyword"
[6] => yes
[7] => one
[8] => two
)
)
Кроме того, я думаю, что мое регулярное выражение немного неопрятно, поэтому любые предложения по улучшению были бы хороши:)
Любые предложения / помощь будет принята с благодарностью.