Ben aşağıdaki kodu var
$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 "</pre>";
Ben bir dizeden anahtar kelimeleri ayıklamak, ve birlikte tek veya çift tırnak içine sarılmış olanlar nerede muhafaza edeceğinize, bu yukarıdaki kodu Tamam çalışır, ama bunun içinde tırnak değerleri döndürür. Ben str_replace veya benzeri ile bu kaldırabilirsiniz biliyorum, ama gerçekten preg_match_all fonksiyonu ile bu çözmek için bir yol arıyorum.
Çıktı:
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
)
)
Ayrıca, benim regex biraz sulugöz olmak olduğunu düşünüyorum, bu yüzden daha iyi bir için herhangi bir öneriniz iyi olabilir :) olurdu
Herhangi bir öneri / yardım büyük mutluluk duyacağız.