убрать символы переноса строки php

Убрать символы переноса строки php

(PHP 4, PHP 5, PHP 7, PHP 8)

trim — Удаляет пробелы (или другие символы) из начала и конца строки

Описание

Список параметров

Обрезаемая строка ( string ).

Возвращаемые значения

Примеры

Пример #1 Пример использования trim()

Результат выполнения данного примера:

Пример #2 Обрезание значений массива с помощью trim()

Результат выполнения данного примера:

Примечания

Замечание: Возможные трюки: удаление символов из середины строки

Смотрите также

User Contributed Notes 18 notes

When specifying the character mask,
make sure that you use double quotes

= »
Hello World » ; //here is a string with some trailing and leading whitespace

Non-breaking spaces can be troublesome with trim:

// PS: Thanks to John for saving my sanity!
?>

It is worth mentioning that trim, ltrim and rtrim are NOT multi-byte safe, meaning that trying to remove an utf-8 encoded non-breaking space for instance will result in the destruction of utf-8 characters than contain parts of the utf-8 encoded non-breaking space, for instance:

non breaking-space is «\u» or «\xc2\xa0» in utf-8, «µ» is «\u» or «\xc2\xb5» in utf-8 and «à» is «\u» or «\xc3\xa0» in utf-8

$input = «\uµ déjà\u«; // » µ déjà «
$output = trim($input, «\u«); // «▒ déj▒» or whatever how the interpretation of broken utf-8 characters is performed

$output got both «\u» characters removed but also both «µ» and «à» characters destroyed

Care should be taken if the string to be trimmed contains intended characters from the definition list.

E.g. if you want to trim just starting and ending quote characters, trim will also remove a trailing quote that was intentionally contained in the string, if at position 0 or at the end, and if the string was defined in double quotes, then trim will only remove the quote character itself, but not the backslash that was used for it’s definition. Yields interesting output and may be puzzling to debug.

To remove multiple occurences of whitespace characters in a string an convert them all into single spaces, use this:

trim is the fastest way to remove first and last char.

This is the best solution I’ve found that strips all types of whitespace and it multibyte safe

Trim full width space will return mess character, when target string starts with ‘《’

[EDIT by cmb AT php DOT net: it is not necessarily safe to use trim with multibyte character encodings. The given example is equivalent to echo trim(«\xe3\80\8a», «\xe3\x80\x80»).]

if you are using trim and you still can’t remove the whitespace then check if your closing tag inside the html document is NOT at the next line.

there should be no spaces at the beginning and end of your echo statement, else trim will not work as expected.

If you want to check whether something ONLY has whitespaces, use the following:

Источник

Популярные примеры работы регулярных выражений в PHP

Вопросов по данной теме уйма. И я решил создать свою подборку регулярных выражений. Думаю многим поможет!

Примеры preg_replace PHP

1. Удаляем определённую ссылку в переменной text

2. Удаляем комментарии в переменной text

3. Удаляем спецсимволы

4. Удаляем всё, что между

5. Удаляем всё, что между

6. Удаляем конкретные символы из строки

7. Удаляем пробелы по бокам строки и обычные пробелы

8. Удаляем лишние переводы строк и переносы

9. Удаляем расширения в названиях файлов

10. Создаём функцию обработки текста

11. Найти содержимое определённого тега и вставить его в другие теги

13. Добавить или убрать текст в начале или конце переменной с текстом

14. Находим все http:// и заменяем на ссылки

15. Удаление GET-параметров из URL

16. Добавить тег br в начало или конец строк

17. Как конвертировать html в текст

18. Как разобрать email и сделать ссылку

Примеры preg_match PHP

1. проверка mail адреса на корректность

2. Найти mail адреса в тексте

3. Является ли переменная числом, длиной от 13 до 16 символов (проверка кредитной карты)

4. Проверка имени файла

5. Ищем в тексте мобильные телефоны РФ

6. Состоит ли строка только из букв, цифр и _, длиной от 8 до 20 символов:

7. Есть ли в строке идущие подряд символы, не менее 3-х символов подряд (типа абвгДДДеё, но не ааббаабб):

8. Поиск в разных частях строки конструкции:

9. Проверки на тип браузера. Возвращает true если browser = Netscape 2, 3 or MSIE 3.

Примеры ereg PHP

1. Проверка mail адреса в тексте

Источник

Как убрать все переносы строк с помощью RegEx?

Как можно выбрать все переносы строк и заменить их пустой строкой? Пытался сделать так:

Можно, конечно, заменить не на пустую строку, а на тот же символ переноса. Но можно ли получить желаемый результат без замены на перенос строки?

убрать символы переноса строки php. Смотреть фото убрать символы переноса строки php. Смотреть картинку убрать символы переноса строки php. Картинка про убрать символы переноса строки php. Фото убрать символы переноса строки php

2 ответа 2

Вы можете использовать

Выражение /[\r\n]+/g находит все совпадения одного и более знаков перевода каретки (CR, \x0D ) или переноса строки (LF, \x0A ) и шаблон замены ‘\n’ заменяет их одним знаком LF.

Пример работы кода на JavaScript:

Получилось получить желаемый результат следующим выражением:

убрать символы переноса строки php. Смотреть фото убрать символы переноса строки php. Смотреть картинку убрать символы переноса строки php. Картинка про убрать символы переноса строки php. Фото убрать символы переноса строки php

Всё ещё ищете ответ? Посмотрите другие вопросы с метками javascript регулярные-выражения или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.28.40331

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

PHP: Как удалить все непечатаемые символы в строке?

Я думаю, мне нужно удалить символы 0-31 и 127,

Есть ли функция или кусок кода, чтобы сделать это эффективно.

7 бит ASCII?

Если ваш Tardis только что приземлился в 1963 году, и вам нужны только 7-битные печатные символы ASCII, вы можете извлечь все из 0-31 и 127-255 с помощью этого:

Он соответствует чему-либо в диапазоне 0-31, 127-255 и удаляет его.

8-битный расширенный ASCII?

Ах, добро пожаловать обратно в 21 век. Если у вас есть строка в кодировке UTF-8, то /u модификатор можно использовать в регулярном выражении

Приложение: А как насчет str_replace?

preg_replace довольно эффективен, но если вы много выполняете эту операцию, вы можете создать массив символов, которые хотите удалить, и использовать str_replace, как указано в mgutt ниже, например

Интуитивно кажется, что это будет быстро, но это не всегда так, вы должны определенно оценить, чтобы увидеть, спасет ли это что-нибудь. Я сделал несколько тестов для различных длин строк со случайными данными, и этот шаблон появился с использованием php 7.0.12

Сроки рассчитаны на 10000 итераций, но более интересны относительные различия. До 512 символов я всегда видел preg_replace win. В диапазоне 1-8kb str_replace имел крайний край.

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

Во многих других ответах здесь не учитываются символы Юникода (например, öäüßйȝîûηы ე மி ᚉ ⠛). В этом случае вы можете использовать следующее:

В этом диапазоне находится странный класс символов \x80-\x9F (чуть выше 7-разрядного диапазона символов ASCII), которые являются технически управляющими символами, но со временем неправильно используются для печати символов. Если у вас нет проблем с ними, вы можете использовать:

Если вы хотите также убрать переводы строки, возврат каретки, табуляции, неразрывные пробелы и мягкие дефисы, вы можете использовать:

Обратите внимание, что вы должны использовать одинарные кавычки для приведенных выше примеров.

Если вы хотите удалить все, кроме базовых печатаемых символов ASCII (все приведенные выше примеры символов будут удалены), вы можете использовать:

Начиная с PHP 5.2, у нас также есть доступ к filter_var, о котором я не видел упоминаний, поэтому подумал, что я добавлю его туда. Чтобы использовать filter_var для удаления непечатаемых символов 127, вы можете сделать:

Фильтровать символы ASCII ниже 32

Фильтр ASCII символов выше 127

Вы также можете html-кодировать младшие символы (перевод строки, табуляция и т. Д.), Одновременно удаляя высокие символы:

Существуют также параметры для удаления HTML, очистки сообщений электронной почты и URL-адресов и т. Д. Итак, множество параметров для очистки (удаления данных) и даже проверки (возвращает false, если не допустимо, а не выполняет автоматическое удаление).

Это кажется более читабельным, чем ряд регулярных выражений, которые были удалены по числовому диапазону.

Вы можете использовать классы персонажей

Все решения работают частично, и даже ниже, вероятно, не охватывает все случаи. Моя проблема была в попытке вставить строку в таблицу mysql utf8. Строка (и ее байты) все соответствовали utf8, но имели несколько неправильных последовательностей. Я предполагаю, что большинство из них были контроля или форматирования.

Чтобы еще больше усугубить проблему, это таблица «сервер против сервера», «соединение» и «рендеринг контента», о чем немного говорилось здесь.

Моя версия, совместимая с UTF-8:

Вы можете использовать регулярный экспресс, чтобы удалить все, кроме тех символов, которые вы хотите сохранить:

Это удалит все управляющие символы ( http://uk.php.net/manual/en/regexp.reference.unicode.php ) выдерживание \n символы новой строки. Исходя из моего опыта, именно контрольные символы чаще всего вызывают проблемы с печатью.

Для удаления всех не-ASCII символов из входной строки

Вместо этого используйте это, чтобы удалить непечатаемые символы 0-31 и 127:

Самая быстрая медленная альтернатива без использования регулярных выражений:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *