PHP: как предотвратить нежелательные разрывы строк

Я использую PHP для создания базового HTML. Теги всегда одинаковые, но фактические ссылки / заголовки соответствуют переменным 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 добавляет разрыв строки каждый раз, когда я прерываю строку, чтобы вставить переменную. Есть ли способ предотвратить такое поведение?

Хотя это не повлияет на вашу HTML-страницу вообще с разрывами строк (если вы не используете pre или text-wrap: pre ), вы должны иметь возможность вызвать trim() для этих переменных, чтобы удалить новые строки.

Чтобы узнать, имеет ли ваша переменная новую линию спереди или сзади, попробуйте это регулярное выражение

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

(Я думаю, вам нужно использовать одинарные кавычки, поэтому PHP не превращает ваш \n в литеральную строку новой строки в строке).

Мое предположение – виноваты ваши переменные. Вы можете попробовать очистить их с trim : http://us2.php.net/trim .

Я считаю, что разрывы строк появляются из-за многобайтовой кодировки. Пытаться:

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

Это сработало для меня, когда появилось странное разрывы строк после разбора html.