我希望有人能帮我解决一些“preg_replace”技能。
我有以下网址: http://www.domain.com/goto/test-string/
现在我只想获得URL的“测试字符串”部分。 知道怎么用preg_replace来解决这个问题吗?
先谢谢!!!
最佳, 弗洛里安
答案 0 :(得分:1)
我建议使用parse_url()
来获取各个部分:
http://php.net/manual/en/function.parse-url.php
然后使用explode( '/', $sUrl );
根据需要获取字符串。
http://php.net/manual/en/function.explode.php
对于动态解析,您可能需要再调整一些。
答案 1 :(得分:0)
似乎preg_match()
对您来说是更好的工具:
if (preg_match('/([^/]*)/$', $url, $m) {
echo "The string you are looking for is $m[1]<br />\n";
}
但是因为你特意要求preg_replace()
我想你可以这样做:
$foo = preg_replace('/^.*?/([^/]*)/$/', '$1', $url);
编辑:我忘了在正则表达式中逃避我的斜线。更容易用管道符号替换正则表达式描述符,以便斜线不再特殊。
$foo = preg_replace('|^.*?/([^/]*)/$|', '$1', $url);
答案 2 :(得分:0)
请试试这个..
$url = 'http://www.domain.com/goto/test-string/hi/';
preg_match('/.*\/(.*?)\//',$url,$match);
echo $match[1];