2011-11-12 3 views
0

ここに私が名前とURLを掻き集めるのに使ったコードがありますが、すべての名前は~で始まります。 ~部分を削除します。私はstr_replaceを使ってみましたが、それを見るのは正しいとは思われません。サイトから削り取った平文の中のどの部分を削除しますか?

name  url 
~john  www.john.com 
~bob  www.bob.com 
~rob  www.rob.com 
+1

でなければなりません。私は自分自身のウェブマスターであり、私は自分のものを何も創造することができない人を憎むが、私の労働の果実を "掻き取る"ことしかできない。そして、私も彼らを助けるはずです! –

答えて

1
<?php 
$str = "~~~~~~"; 
$str = str_replace("~","!",$str); 
echo $str; 
?> 

私の作品:

foreach ($div_category as &$div){ 
    $a_list = $div->find("a"); 
    foreach ($a_list as &$anchor){ 
     //put the data into an array and then write array out to a csv file. 
     $csv_array=array($anchor->plaintext, $anchor->getAttribute("href")); 
     $anchor = str_replace('~', ' ', $anchor); 
     fputcsv($csv_out, $csv_array); 

現在の結果例(もそれと同じ結果をテストしました)。交換部分は上手くいくはずです。アンカーの属性に「間違って」対処している必要があります。でアンカーを印刷してみてください:あなたが使用する必要がある属性のものを見るために

print_r($anchor) 

EDIT:

foreach ($div_category as &$div){ 
    $a_list = $div->find("a"); 
    foreach ($a_list as &$anchor){ 
     //put the data into an array and then write array out to a csv file. 
    -> $csv_array=array($anchor->plaintext, $anchor->getAttribute("href")); // line X 
    -> $anchor = str_replace('~', ' ', $anchor);       // line Y 
     fputcsv($csv_out, $csv_array); 

問題はXのオーダーであり、Yラインがマーク矢印で。それらを切り替えて、それが動作するはずです。

EDIT2:

$anchor = str_replace('~', ' ', $anchor); 

は、私はこれらの質問を憎む

$anchor->plaintext = str_replace('~', '', $anchor->plaintext); 
+0

私はprint_r($ anchor)関数の終わりには名前のリストしか表示せず、クリック可能です(それに添付されたURLです)が、シンボルはありません。しかし、私は置く!あなたが示唆したように、それはプリントで!ジョンを示すでしょう。だから私は右にそれらを印刷するようだが、CSVファイルでそれはまだ〜記号を表示しています。 – merrill

+0

OK答えを編集してみると – abcde123483

+0

私は実際にそれらを早めに切り替えて、エラーが出る 致命的なエラー:メンバー関数getAttribute()を非オブジェクト上で呼び出す 行のX部分 – merrill

関連する問題