Я записываю html-контент в BML-файл, как я могу удалить новые строки / пробелы, чтобы они все были в одной длинной строке?
работает preg_replace("\n","")?
preg_replace("\n","")
Лучше использовать константу конечной строки, независимую от платформы PHP_EOL, что в данном случае эквивалентно array("\n", "\r", "\r\n") ...
PHP_EOL
array("\n", "\r", "\r\n")
$html = str_replace(PHP_EOL, null, $html);
preg_match только сравнивает и возвращает совпадения, ничего не заменяет, вы можете использовать $string = str_replace(array(" ","\n"),"",$string)
$string = str_replace(array(" ","\n"),"",$string)
Если вы просто хотите удалить символы новой строки, str_replace - это все, что вам нужно:
str_replace
$str = str_replace("\n", '', $str);
Я бы заменил все \ n пробелом, затем заменил бы двойные пробелы одним пробелом (так как HTML не использует более одного пробела по умолчанию)
$str = str_replace('\n', ' ', $str); $str = str_replace(' ', ' ', $str);
Метод preg_match в этом случае не работает, так как он не заменяет символов, но пытается найти совпадения .
preg_match