剥离URL和其他字符的数组,仅显示帖子名称

时间:2010-11-22 18:04:00

标签: php xml

xml是这样的:( wordpress url's)我想剥离它们并只得到帖子的话。 http://www.site1.com/dir/this-is-page/ http://www.site2.com/this-is-page

如果我有两种不同类型的网址,我如何剥离网址并仅获取“这是网页”(没有其他网址和“ - ”);一个有dir,一个没有dir?示例代码如下:

$feeds = array('http://www.site1.com/dir/feed.xml', 'http://www.site2.com/feed.xml');

foreach($feeds as $feed) 
{ 
  $xml = simplexml_load_file($feed);

  foreach( $xml->url as $url )
 {     
    $loc = $url->loc; 
 echo $loc;
 $locstrip = explode("/",$loc);
 $locstripped = $locstrip[4]; 
 echo '<br />';

 echo $locstripped;

 echo '<br />';

 mysql_query("TRUNCATE TABLE interlinks");

 mysql_query("INSERT INTO interlinks (title, url) VALUES ('$locstripped', '$loc')");

 }
} 
?>

TY

3 个答案:

答案 0 :(得分:1)

Ty伙计们,这样做了:

$urlstrip = basename($loc);
$linestrip = str_replace(array('-','_'), ' ', $urlstrip); 

答案 1 :(得分:0)

您只想要网址的最后一段吗?

尝试这样的事情。

$url = trim('http://www.site1.com/dir/this-is-page/', '/');
$url = explode('/', $url);
$url = array_pop($url);
$url = str_replace(array('-','_'), ' ', $url);

答案 2 :(得分:0)

它不是很优雅......但它有效。

替换

 $locstripped = $locstrip[4]; 

 $locstripped = $locstrip[count($loc) - 1];
 if(!$locstripped)
        $locstripped = $locstrip[count($loc) - 2];
$locstripped = str_replace('-', ' ', $locstripped);