PHP 特定のタグを消したい (キーとなる言葉を複数)
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);
}
}