function wikipedia_streetnames_parse($article, $object) { $name=$object->tags->get("name"); $article=explode("\n", $article); foreach($article as $line) { if(strpos($line, $name)) { $line=wikipedia_parse($line); if(preg_match("/^\* $name( \(.*\))?(,|:| - | – )/", $line, $m)) { return substr($line, 2); } } } }
function wikipedia_get_abstract($object, $page, $lang) { ini_set("user_agent", "OpenStreetBrowser Wikipedia Parser"); if(@$f=fopen(wikipedia_action_url($object, $page, $lang, "raw"), "r")) { $text=""; $img=""; $enough=0; $inside=0; $r=fgets($f); while(!$enough) { // if(!$img&&eregi("\[\[Bild:([^\|\]]*)[\|\]]", $r, $m)) { if(($r=="")|| (preg_match("/^<!--/", $r)) ) { } elseif(ereg("(.*)\{\{(.*)\}\}(.*)", $r, $m)) { $r=$m[1].$m[3]; continue; } elseif(eregi("(.*)<(.*)>(.*)", $r, $m)) { $r=$m[1].$m[3]; continue; } elseif(ereg("(.*)\{(\{|\|)(.*)", $r, $m)) { $inside++; } elseif(ereg("(\}|\|)\}(.*)", $r, $m)) { $inside--; } elseif(!$img&&eregi("\[\[.*:([^\|]*\.(png|jpg|gif))", $r, $m)) { $img=$m[1]; $url=strtr("http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/$img/100px-$img", array(" "=>"_")); $img="<img src='$url' align='left' class='wikipedia_image'>\n"; } elseif(!$img&&eregi("\|.*= *([^\|]*\.(png|jpg|gif))", $r, $m)) { $img=$m[1]; $url=strtr("http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/$img/100px-$img", array(" "=>"_")); $img="<img src='$url' align='left' class='wikipedia_image'>\n"; } elseif($inside==0) { $t=wikipedia_parse($r); if(!preg_match("/^ *$/", $t)) { $text.=$t; $enough=1; } } // read next line $r=fgets($f); // end of file ... break loop if(!$r) break; $r=trim($r); } fclose($f); } return "<div class='wikipedia_abstract'>$img$text</div>"; }