foreach ($xpath->query('//a[contains(@href,"yahoo")]') as $node) {
        $node->parentNode->removeChild($node);//そのタグを消す
    }

PHP HTMLパースの話です。
上記で a タグの href要素に yahoo を含むものが、そのタグ毎削除できるのはわかります

同様に複数削除したいキーワードがある場合に
$varArr にキーワードを含む配列を作り、次のように書きましたが
Warning: DOMXPath::query(): Invalid expression in (そのPHPの場所)~~
のエラーがでます。
エラーの内容を調べると "' を使ってはいけない、らしいですが
String型の配列を作る場合、" ' は必要になりますよね?どう回避するのでしょうか。

できれば削除すべきキーワードは1つの変数に保持したいため
逐一 最初の行のプログラムをかき回すのでなく、for文等で処理したいと考えます。

どのようにすれば良いでしょうか?

$varArr = array("yahoo","google","livedoor","keyword3");
for($i=0;count($varArr)>$i;$i++){
    foreach ($xpath->query('//a[contains(@href,$varArr[$i])]') as $node) {
        $node->parentNode->removeChild($node);
    }
}