我正在使用 PHP、JavaScript 和 MySQL/SQLite 开发书签应用程序。

我有一个用于输入书签 URL 的文本输入字段,该 URL 使用 AJAX 检查服务器上的输入值以查看该 URL 是否已存在于书签数据库中。

http://www.domain.com 如果那个确切的值 http://www.domain.com 保存在数据库。

如果它有尾部斜杠 http://www.domain.com/ 它将被忽略并且不会显示为重复项!

因此,如果我确保在将新记录保存到数据库之前删除尾部斜线,这就足够简单了。

不过我想做的是从每个 URL 字符串生成 2 个 URL...

如果我有这个网址:
` http://www.domain.com/some-article/page/2

然后我希望能够将这部分 http://www.domain.com 放入变量中,然后也将这部分 /some-article/page/2 到另一个变量。

这样我就可以为一个网站的许多页面添加书签,还可以查明我是否已经为该网站域的任何页面添加了书签。

所以我希望能够从任何类型的 URL 字符串中获取基本 URL。其次,能够获取 URL 中 .com 部分之后的任何值。

我知道这是一些基本的东西,但我现在想不出这些域部分的名称,可以使用 JavaScript 和 PHP 获取它们的帮助。

请您参考如下方法:

PHP 有一个内置的 parse_url() function ,所以你可以这样做:

$domain = parse_url($url, PHP_URL_HOST); // Get the full domain eg. www.com 
$path = parse_url($url, PHP_URL_PATH); // Get the URL 

现在我建议您忽略模式 (http://),这样同一个链接就不会被提交两次——作为 http://然后作为 https://。通常,大多数网站通过普通和加密 channel 提供相同的内容。

在 JavaScript 中:

var parser = document.createElement('a'); 
parser.href = url; // Your URL here 
console.log(parser.hostname); // Your domain 
console.log(parser.pathname); // Your path 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!