解析网址并使用php选择特定的数字

时间:2014-09-17 14:27:12

标签: php rss

如何从php链接中选择特定的单词或数字?我有以下网址,我只想选择rss号码。不幸的是,一直试图使用preg_match和preg_replace无济于事。

<link><![CDATA[http://www.domain.com/league/news/newsid=21898248704.html?rss=2148704+hakska+iwumao+oioqp+badge+water]]></link>

<link><![CDATA[http://www.domain.com/rugby/video/ball/index.html?rss=2133483+water+none+respective+all+sat's+report]]></link>

正如您所看到的网址不同但两者都有rss = XXXXXX。我的目标是将“rss =”后的数字插入数据库。

如果有人能给我一个如何做到这一点的提示,我将不胜感激。

3 个答案:

答案 0 :(得分:0)

喜欢这个吗?

<?php
$link = '<link><![CDATA[http://www.domain.com/league/news/newsid=21898248704.html?rss=2148704+hakska+iwumao+oioqp+badge+water]]></link>';

preg_match('/rss=([0-9]+)/', $link, $matches);

echo $matches[1]; // returns 2148704
?>

答案 1 :(得分:0)

$url = "http://www.example.com/foo.php?rss=9001+asdf";
$res = "";
$i = 0;
if (($i = strpos($url, 'rss=')) !== false) {
  $res = substr($url, $i + 4); // +4 because the length of 'rss=' is 4, we just want the value
  if (($i = strpos($res, '+')) !== false) { // $res contains +, cut that off
    $res = substr($res, 0, $i);
  }
  // res has a value
  echo $res;
} else {
  // res has no value
}

Example

答案 2 :(得分:0)

$ link =&#39;&#39;;

preg_match(&#39; / rss =([0-9] +)/&#39;,$ link,$ matches);

echo $ matches [1]; //返回2148704

工作得很好。非常感谢幻影!