2010-11-23 8 views
3

PHP를 사용하여 기본 HTML을 만듭니다. 태그는 항상 동일하지만 실제 링크/제목은 PHP 변수에 해당합니다PHP : 원하지 않는 줄 바꿈을 방지하는 방법

$string = '<p style="..."><a href="'.$html[$i].'"><strong><i>'.$title[$i].'</i></strong></a> 
<br>'; 
echo $string; 
fwrite($outfile, $string); 

(I 페이지의 소스를 볼 때) 에코 양으로 생성 된 HTML 및 간단한 txt 파일에 내가 쓰고 있어요 다음과 같이 읽습니다.

<p style="..."><a href="http://www.example.com 
"><strong><i>Example Title 
</i></strong></a></p> 
<br> 

이 방법이 효과가 있지만 원하는 것은 아닙니다. 변수를 삽입하기 위해 문자열을 중단 할 때마다 PHP가 줄 바꿈을 추가하는 것처럼 보입니다. 이 문제를 방지 할 수있는 방법이 있습니까? (당신이 pre 또는 text-wrap: pre을 사용하지 않는 경우)이있는 모든 줄 바꿈 HTML 페이지에 영향을 미치지 않습니다 동안

+6

삽입 할 변수의 끝 부분에 개행 문자가없는 것은 확실합니까? trim()에서 줄 바꿈하여 멈추는 지 확인하십시오. 만약 그렇다면 변수는 실제로 줄 바꿈을 포함합니다. –

+0

감사합니다. rtrim을 사용했는데 문제가 해결되었습니다. 먼저 해결 했으므로 앞으로 24 시간 이내에 답변을 추가하면 동의 할 것입니다. – user460847

답변

2

, 당신은 줄 바꿈을 제거하기 위해 그 변수에 trim()를 호출 할 수 있어야합니다. 당신의 변수가 앞에 줄 바꿈이 있거나 백업하는 경우

가 확인하려면이 정규식

var_dump(preg_match('/^\n|\n$/', $variable)); 

(난 당신이 PHP는 문자 줄 바꿈에로 \n를 설정하지 않도록 작은 따옴표를 사용하는 생각을하려고 문자열).

0

멀티 바이트 인코딩으로 인해 줄 바꿈이 표시됩니다. 시도해보십시오 :

$newstring = mb_substr($string_w_line_break,[start],[length],'UTF-8'); 

이상한 줄 바꿈이 html을 구문 분석 한 후에 나타나면 저에게 효과적입니다.

관련 문제