PHP提取字符串中每个项目的出现次数

时间:2013-09-15 14:33:15

标签: php arrays string replace

如果字符串显示:

  

曾几何时,一个年轻的LKTgoblingLKT发生了一次不幸的事故和LKTfellLKT。

如何将LKT中包含的每个内容提取到数组中并将其替换为字符串。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下解决方案:

  • 将句子存储在变量
  • explode()以空格作为分隔符的句子
  • 循环遍历数组
  • 使用strpos()
  • 检查单词是否包含您的字符串
  • 如果是,请将单词推入结果数组

这样的事情:

$string = '...';
$words = explode(' ', $string);
foreach ($words as $word) {
    if (strpos($word, 'LKT') !== FALSE) {
        $result[] = $word;
    }
}
print_r($result);

输出:

Array
(
    [0] => LKTgoblingLKT
    [1] => LKTfellLKT.
)

Demo!


如果您希望将字符串替换为其他字词,则可以使用str_replace()implode(),如下所示:

$string = '...';
$words = explode(' ', $string);
$result = array();

foreach ($words as $word) {
    if (strpos($word, 'LKT') !== FALSE) {
        $word = str_replace($word, 'FOO', $word);
    }
        $result[] = $word;
}

$resultString = implode(' ', $result);
echo $resultString;

输出:

Once upon a time a small young FOO had an unfortunate accident and FOO

Demo!