2012-11-11 3 views
2

사용자가 자신의 URL에 웹 사이트를 입력하는 사용자 정의 필드 ('웹 사이트'라고 함)가 있습니다. 위의 예에서PHP의 URL 링크 형식을 올바르게 지정하십시오.

<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> 

를 다음과 같이 내 PHP 코드는 내가 HTTP와 URL 접두사입니다 : //

그래서 내 문제는 사용자가 그렇지 않은 사용자 정의 필드에 http://www.example.com 같은 URL을 입력 할 때입니다 사이트에 올바르게 연결하십시오. 프론트 엔드 http // www.example.com에서 URL은 다음과 같이 보입니다

이상하게 콜론이 제거되었거나 URL이 작동하지 않습니다! 나는 두 개의 http ://와 관련이 있다고 가정합니다./

이제

, 나는 HTTP를 제거하는 시도 : // PHP 코드에서이

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

liek 그래서 사용자는 이제 사용자 정의 필드에 www.example.com을 입력하고 게시 가정 해 봅시다 기입. URL은 이제 내 현재 사이트의 페이지에 URL을 구축하려고

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

로 이동합니다. URL로 취급하지 않는 이유는 알 수 없습니다.

PHP에서이 코드를 올바르게 작성하는 방법을 찾으십시오.

감사

답변

5
<?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><? 
} 
?>  

이 모든 HTTP를 대체합니다 : // URL을한다.

+0

안녕 Scottymeuk, 건배 .. 내가 위의 코드에서 컨텍스트에서 쓸 수 있다고 생각하니? 정확하게 할 방법을 모르겠다 – Redwall

+0

물론입니다. 2 초 아픈 편집 내 게시물 – Scottymeuk

+1

안녕, 고마워 다시하지만, 내 PHP 코드와 관련 하여이 문자열을 사용하는 방법을 이해하기 위해 아직도 고민입니다. 위의 코드를 가져 와서 코드를 삽입하면 내가해야 할 일을 정확하게 볼 수 있습니까? 고마워요. 그리고 noobiness에 대한 미안합니다. – Redwall

관련 문제