我有一个要从句子开头删除的单词列表。
使用此代码,我只能从字符串的开头删除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.
如何修改此代码并添加一个单词列表以使用代码删除一次?也许一系列的单词会很棒。
对于我必须删除的每个单词,我也能够多次使用此代码,但就性能而言,我认为这将很慢。任何帮助?感谢
答案 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);
答案 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
}