如何从句子的开头删除单词列表

时间:2014-01-27 03:33:18

标签: php

我有一个要从句子开头删除的单词列表。

使用此代码,我只能从字符串的开头删除1个单词,在本例中,单词“Hello”

    for($i=0; $i<strlen(string); $i++){
    $remove = 'Hello';
    if (substr(string, 0, strlen($remove)) == $remove) {
    string = substr(string, strlen($remove));}
    string=ucfirst(string);}

 input :Hello World.
 output:World. 

如何修改此代码并添加一个单词列表以使用代码删除一次?也许一系列的单词会很棒。

对于我必须删除的每个单词,我也能够多次使用此代码,但就性能而言,我认为这将很慢。任何帮助?感谢

2 个答案:

答案 0 :(得分:0)

尝试使用PHP preg_replace函数。

$string = 'Hello world Hello';

$patterns = array();
$patterns[0] = '/Hello/';

$replacements = array();
$replacements[0] = '';

ksort($patterns);
ksort($replacements);

echo preg_replace($patterns, $replacements, $string, 1);

参考:http://www.php.net/manual/en/function.preg-replace.php

答案 1 :(得分:0)

我会将字符串分解为数组。

$string = 'these are words some of which may be bad like this1 this2 and this3';

$words = explode(' ', $string);

foreach($words as $word) {

   // Insert function to check your list of words against an array remove
   // and even replace them with your own.
   // View: preg_replace http://us2.php.net/manual/en/function.preg-replace.php

}