我想从URL字符串中获取ID。从字符串中获取ID。正则表达式问题
我用下面的代码尝试: -
FROM:
<url>http://www.monkeys.com/monkey.php?id=24</url>
我想 '24': -
$ID = preg_replace($url, '/^<url>.*\?id=(.*)<\/url>$/', '\1');
任何帮助将不胜感激 - 我确定这是一个常见问题,但我发现正则表达式令人困惑。
我想从URL字符串中获取ID。从字符串中获取ID。正则表达式问题
我用下面的代码尝试: -
FROM:
<url>http://www.monkeys.com/monkey.php?id=24</url>
我想 '24': -
$ID = preg_replace($url, '/^<url>.*\?id=(.*)<\/url>$/', '\1');
任何帮助将不胜感激 - 我确定这是一个常见问题,但我发现正则表达式令人困惑。
正则表达式是错误的工作工具。使用
例子:
$url = "http://www.monkeys.com/monkey.php?id=24";
parse_str(parse_url($url, PHP_URL_QUERY), $parts);
var_dump($parts); // 24
获取URL出e。<URL>
e lement应该是微不足道的。 DOM是你的朋友。请参阅处理Reading XML with PHP的各种其他问题以及此文章为什么should not use Regex for parsing HTML。
你可以使用这个表达式:
/^[^?]+\?id=(.*).*$/
出于某种原因后,我没有得到它... $ URL = HTTP:// www.test.com/tester.php?id=212 parse_str($ url,$ parts); echo $ parts ['id'] =无。 – waxical 2010-06-28 11:10:45
现在有效,没有正确地遵循你的例子。 :/谢谢 – waxical 2010-06-28 11:18:40