0

ここで私の場合、 $commonWords配列で利用可能な$inputから文字列を削除したいだけです。

$input = "perg-replace my string perge replace";

function removeCommonWords($input){  
  $commonWords = array('my','perge');
  return preg_replace('/\b('.implode('|',$commonWords).')\b/','',$input);
}

私が期待した結果は次のとおりです。

" perg-replace 文字列の置換"

しかし、上記の関数から得た結果は次のとおりです。

" -文字列置換を置換"

perg_replace に「 perg-replace 」を読むように指示するには、単語が 1 つありますか?

アップデート:

以下のコードは私にとってはうまくいきます:

return preg_replace('/(?<![-\'"])\b('.implode('|',$commonWords).')\b(?![-'"])i','',$input);
4

4 に答える 4

1

これを試して ... ?

function removeCommonWords($input) {
  $commonWords = array('my','perge');
  return implode(' ', array_filter(explode(' ', $input), function($word) use ($commonWords) {
    return !in_array($word, $commonWords);
  }));
}
于 2013-03-01T08:11:29.937 に答える
0
$input = "perg-replace my string perge replace";

function removeCommonWords($input){  
  $commonWords = array('my','perge');
  return preg_replace('/\b('.implode('|',$commonWords).')\b/','',$input);
}

echo removeCommonWords($input);
于 2013-03-01T08:28:23.793 に答える
0

これを試して :

// あなたの文字列。
$str = "perg-replace my string perge replace";

// 削除する必要があるキーワードのリスト。
$keywords = array('my','perge');

// リストを繰り返します。
foreach($keywords as $keyword)
{
    $str = preg_replace("/($keyword)/i","",$str);
}

エコー $str;
于 2013-03-01T08:17:34.513 に答える
0

これを試して、

$input = "perg-replace my string perge replace";
function removeCommonWords($input){  
  $commonWords = array('/my/','/perge/');
  return preg_replace($commonWords,'',$input);
}
echo removeCommonWords($input);
于 2013-03-01T08:23:50.717 に答える