2010-11-23 12 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); 

(私はページのソースを表示したときに)エコーの両方として結果のhtml、および簡単なtxtファイルに私が書いています次のように表示されます。

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

これは機能しますが、正確には私が望むものではありません。変数を挿入するために文字列を中断するたびにPHPが改行を追加するようです。この現象を防ぐ方法はありますか? (あなたがpretext-wrap: preを使用していない限り)それがすべてで改行を使用してHTMLページには影響しませんけれども

+6

挿入する変数の最後に改行がないことは間違いありませんか?それを止めるかどうかを確認するには、trim()でラップしてみてください。もしそうであれば、あなたの変数は実際に改行を含んでいます。 –

+0

ありがとうございます、私はrtrimを使用し、問題を修正しました。最初に解決して以来、24時間以内に回答を追加すると、それを受け入れることになります。 – user460847

答えて

2

、あなたは改行を削除するために、これらの変数にtrim()を呼び出すことができるはずです。あなたの変数が前面に改行を持っているか、バック場合

を調べるには、この正規表現

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

(私はあなたがPHPリテラル改行でにあなたの\nをオンにしないように、単一引用符を使用するために持っていると思うしてみてください文字列)。

1

私の推測では、あなたの変数は責任を負うことです。 trimhttp://us2.php.net/trimでクリーニングしてみてください。

0

改行があるため、マルチバイトエンコーディングの表示、私は信じています。試してみてください:

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

htmlの解析後に奇妙な改行が表示されたときにうまくいきました。

関連する問題