트위터 공유 URL의 get_the_title() 인코딩
Twitter 공유 버튼에 대한 팝업과 직접 링크를 사용하고 있습니다.<a href="https://twitter.com/intent/tweet?url=<?php echo urlencode(get_permalink());?>&text=<?php echo get_the_title(); ?>&via=username" target="_blank"
많은 소셜 미디어 플러그인이 있기 때문에 공유 버튼을 구현하기 위한 가장 간단하고 직접적인 방법입니다.
단, 이 경우,&
제목에서 제목은 상태를 표시해야 하는 텍스트를 깰 것입니다.필요한 건 이해해요urlencode()
제목인데 이렇게 하면 상태 메시지에 특수 문자가 표시됩니다.
필요없기 때문에+
잠깐 동안[space]
지금 트위터 공유에서, 나는 어떤 것이든 바꿀 필요가 있다.&
님의&
다만, 이 기능은, 에서는 동작하지 않는 것 같습니다.str_replace()
어떤 이유로 HTML 특수문자를 출력합니다.뭐랄까...<?php echo str_replace('&', '&', urldecode(get_the_title())); ?>
그것도 안 돼요.
&
는 URL에서 여러 파라미터를 구분하는 특별한 의미를 가집니다.URL이 다음과 같은 경우...a&b...
텍스트 "a&b"가 아닌 두 개의 개별 파라미터를 나타냅니다.그걸 피하려면urlencode
본문, 본문, 본문&
안으로%26
.
부호화&
로.&
에만 필요하다&
HTML 문자(텍스트에 포함하면 안 되는 문자)를 입력합니다.&
는 에 의해 대체됩니다.%26
.
워드프레스의 복잡성은 모르겠지만get_the_title()
는 이미 HTML 이스케이프된 값을 반환합니다.의미, 그것은 다음을 포함한다.&
대신&
이렇게 전송하면 Twitter로 전송되는 값입니다.원하는 것은 HTML 엔티티 없이 텍스트를 얻는 것입니다. 즉, HTML 디코딩을 해야 합니다.&
실제 가치로 되돌아가다&
HTML로 디코딩된 값은 URL로 인코딩되어야 하므로 URL 구문을 망치지 않습니다.
이 모든 것을 종합하면, 이것으로 충분합니다.
echo urlencode(html_entity_decode(get_the_title(), ENT_COMPAT, 'UTF-8'));
HTML 엔티티 없이 Wordpress에서 복잡한 작업을 하지 않고 직접 원본 제목을 얻을 수 있는 다른 방법이 있을 수 있습니다.html_entity_decode
춤은 추지만 워드프레스에 대해서는 잘 몰라요
PS: 이 URL을 HTML 컨텍스트에 출력하기 때문에 HTML 구문이 깨지지 않도록 HTML을 다시 인코딩해야 합니다.그건 대부분 학업의 완성도를 위해서죠urlencode()
HTML 구문을 깨는 것은 반환되지 않습니다.그러나 현학적 완성도를 위해 다음과 같이 하십시오.
echo htmlspecialchars(urlencode(html_entity_decode(get_the_title(), ENT_COMPAT, 'UTF-8')), ENT_COMPAT, 'UTF-8');
언급URL : https://stackoverflow.com/questions/10771728/encoding-get-the-title-for-twitter-share-url
'programing' 카테고리의 다른 글
표의 모든 행을 효율적으로 업데이트하는 방법 (0) | 2023.03.23 |
---|---|
C#의 JSON 개체를 통해 반복하고 있습니다. (0) | 2023.03.23 |
각도 지시어에 변수 전달 (0) | 2023.03.23 |
바깥쪽 div 크기가 변경되면 스크롤 가능한 div를 바닥에 고정합니다. (0) | 2023.03.23 |
잭슨과 열거를 역직렬화하는 중 (0) | 2023.03.23 |