我有一个看起来像这样的网址:
zigzagstudio/#!/page_wedding2
并且我需要在 # 之后占用 url 的一部分。事实上,我需要访问 page_wedding2 才能将数字广告与我的数据库中的 id 进行比较。这可能使用php吗?有人有代码示例吗?我还搜索了使用 javascript 的解决方案,但我不知道如何使用 javascript 将其发送到 php。
$url = "zigzagstudio/#!/page_wedding2";
$pattern = "([\#\!\/]+(.*))";
preg_match($pattern, $url, $string);
$name = $string[1];
echo $name; // prints 'page_wedding2'
$url = 'zigzagstudio/#!/page_wedding2';
echo parse_url($url, PHP_URL_FRAGMENT);
请参阅parse_url () 文档。
您需要在 JavaScript 中阅读它,然后将其传递给您的 PHP。
像这样用 Javascript 阅读它:
var query = location.href.split('#');
var anchorPart = query[0];
一旦获得anchorPart
并从中解析了相关信息,将其传递给您的 PHP - 可能有不同的方法来执行此操作,具体取决于您的 Web 应用程序。
您可以向page_wedding2.php发出AJAX 请求,并将查询字符串中的任何解析信息传递给它。在您自己的网页中使用返回的 HTML 字符串。
编辑: 为了澄清,浏览器不会将 URL 的锚部分传递给服务器端。