php
  • utf-8
  • concatenation
  • character
  • 2011-12-16 2 views 3 likes 
    3

    내 응용 프로그램은 HTML 링크가 포함 된 고객에게 제품을 다운로드하기 위해 문자열을 작성합니다.PHP : 긴 문자열을 연결할 때 문자 손실

    기본적으로 내가 작성한 주문을 반복하고 mail() 함수의 문자열을 생성합니다.

    $links .= "<p><a href='http://www.example.com/dl/Downloadpage.php?reference=".$ref."&pass=".$passlink."&pid=".$product['pr_id']."'>Click here to download ".$product['Title']."</a></p>"; 
    

    은 즉시 5 이상의 링크가있는 한, 내가 예를 http://ww.mysite.com <에 대한 링크 ... 중 하나의 중간에 문자를 잃게됩니다 -이 단지 하나의 "W", 또는 참조하는 경우 1128098이면 112098이 인쇄됩니다.

    내가 문자열의 끝에 있었는지 나는 이해할 수있었습니다 ... 아무도 무슨 일이 일어나고 있는지 알 수 있습니까?

    +0

    이 매우 이상하다 ... –

    +3

    당신이 우리에게 해당 문자열과 함께 작동 관련 코드를 게재 할 수 있습니까? 문자열 연결보다 코드에 버그가있을 가능성이 훨씬 큽니다. 우리가 그것을 조작하는 부분을 우리에게 줄 수 있다면, 우리는 올바른 방향으로 당신을 가리킬 수 있습니다. – jprofitt

    +1

    이것이 도움이 될지 전혀 모르겠지만 배열에 모든 문자열을 넣은 다음 연결을 사용하는 대신 문자열을 작성하기 위해 implode()하면 어떻게 될까요? – GordonM

    답변

    1

    일반적으로 smtp 프로토콜 구현은 한 줄에 ~ 76 개의 열/문자를 허용하지 않으므로 통신 중에 줄이 잘립니다. 한 줄씩 ("\ n"으로 둘러싼) 링크를 처리하십시오.

    시도하십시오 : $links .= "<p><a href='http://www.mysite.com/dl/Downloadpage.php?reference=".$ref."&pass=".$passl‌​ink."&pid=".$product['pr_id']."'>Click here to download ".$product['Title']."</a></p>\r\n";

    관련 문제