使用PHP删除字符串中所有连续重复的给定字符

时间:2013-10-07 19:58:48

标签: php

如何从字符串中删除所有连续重复字母“p”。

例如,“快乐的紫色小猫说pppplease”将成为'hapy紫色小猫请说“

5 个答案:

答案 0 :(得分:5)

您可以使用正则表达式完成此操作:

/pp+/

您可以使用PHP的preg_replace()进行实际替换:

$str = preg_replace('/pp+/', 'p', $str);

这实际上表示接受任何p后跟“一个或多个p”并将其替换为单个p

Codepad example.

答案 1 :(得分:1)

您是否看过使用preg_replace(http://php.net/preg_replace)?

以下是您可以使用的示例:

<?php
$str = "happy purple kitten said pppplease";

$result = preg_replace('/pp+/', 'p', $str);

var_dump($str);

答案 2 :(得分:1)

preg_replace( '/pp+/','p', $mystring );

答案 3 :(得分:1)

此模式用一个替换所有重复的字符:

<?php
$string = "happy purple kitten said pppplease";
echo preg_replace("/([a-z])(\\1+)/i", '\\1', $string);//hapy purple kiten said please

//for your case
echo preg_replace("/([p])(\\1+)/i", '\\1', $string);//hapy purple kitten said please
?>

答案 4 :(得分:0)

你可以使用str_replace使用循环来重复,直到所有'pp'字符串被'p'替换,如下所示:

while( strpos($str, 'pp') !== FALSE ) {
  $str=str_replace('pp', 'p', $str);
}