gpt4 book ai didi

php - 在 PHP 中正确格式化 URL 链接

转载 作者:行者123 更新时间:2023-12-02 01:14:28 25 4
gpt4 key购买 nike

我有一个自定义字段(称为“网站”),用户可以在其中输入网站到他们的 URL。我的php代码如下

<div class="profileInfo">
<h4 class="website">Website:</h4>
<?php if ( get_post_meta($post->ID, 'website', true)) { ?>
<p><a href="http://<?php echo get_post_meta($post->ID, 'website', true) ?>"><?php echo get_post_meta($post->ID, 'website', true) ?></a></p>
<?php } else { ?>
<p class="na">no email provided</p>
<?php } ?>
</div>

在上面的示例中,我在 URL 前加上了 http://

所以我的问题是,当用户输入类似 http://www.example.com 的 url 时到自定义字段,它没有正确链接到该站点。 URL 在前端看起来像这样 http//www.example.com

奇怪的是,冒号 : 被剥离或删除,因此 URL 不起作用!我认为这与有两个 http://

现在,我尝试从 PHP 代码中删除 http://

<p><a href="<?php echo get_post_meta($post->ID, 'website', true) ?>"><?php echo get_post_meta($post->ID, 'website', true) ?></a></p>

假设用户现在在自定义字段中输入 www.example.com 并发布该条目。 Url 现在转到

http://mysite.com/www.example.com

它尝试将 URL 构建到我当前的站点页面中。不知道为什么它不将其视为 URL。

寻求一些关于如何在 PHP 中正确编写此代码的帮助。

谢谢

最佳答案

<?php 
if ( get_post_meta($post->ID, 'website', true))
{
$link = get_post_meta($post->ID, 'website', true);
$link = str_replace(array('http://','https://'), array('',''), $link);
?><p><a href="http://<?=$link?>"><?=$link?></a></p><?php
}
else
{
?><p class="na">no email provided</p><?
}
?>

这将替换 url 中的所有 http://。

关于php - 在 PHP 中正确格式化 URL 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13332345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com