我有以下代码
$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>";
我希望它从字符串中提取关键字,并将它们放在单引号或双引号中,上面的代码工作正常,但它返回带有引号的值。我知道我可以通过 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
)
)
另外,我认为我的正则表达式有点糊涂,所以任何更好的建议都会很好:)
任何建议/帮助将不胜感激。