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

Содержание
  1. ltrim
  2. Список параметров
  3. Возвращаемые значения
  4. Примеры
  5. Смотрите также
  6. User Contributed Notes 8 notes
  7. Удалить указанные символы
  8. Удаление регулярными выражениями в PHP
  9. Текст и символы
  10. Удалить все пробелы
  11. Удалить двойные пробелы
  12. Удалить лишние пробелы перед знаками препинания
  13. Оставить в тексте только буквы, цифры и пробел
  14. Удалить цифры
  15. Удалить латинские буквы
  16. Удалить русские буквы
  17. Удалить все буквы и цифры
  18. Удалить все кроме цифр и пробелов
  19. Удалить табуляцию
  20. Удалить переносы строк
  21. Удалить определенное количество символов
  22. Удалить текст до определенного символа
  23. Удалить текст после символа
  24. Удалить скобки с их содержимым
  25. Комментарии
  26. Удалить комментарии из HTML
  27. Удаление многострочных комментариев «/* . */»
  28. Удалить комментарии «//» и «#»
  29. Комментарии SQL « —. »
  30. Нумерация строк
  31. Хештеги
  32. Как удалить все буквы, цифры и спецсимволы в строке на PHP/JavaScript?
  33. Как удалить все буквы, цифры и спецсимволы в строке на PHP?
  34. Как удалить все буквы, цифры и спецсимволы в строке на JavaScript?

ltrim

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

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

С помощью параметра characters можно также указать удаляемые символы. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

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

  • » » ( ASCII 32 ( 0x20 )), обычный пробел.
  • «\t» ( ASCII 9 ( 0x09 )), символ табуляции.
  • «\n» ( ASCII 10 ( 0x0A )), символ перевода строки.
  • «\r» ( ASCII 13 ( 0x0D )), символ возврата каретки.
  • «\0» ( ASCII 0 ( 0x00 )), NUL -байт.
  • «\v» ( ASCII 11 ( 0x0B )), вертикальная табуляция.

Примеры

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

$text = «\t\tThese are a few words 🙂 . » ;
$binary = «\x09Example string\x0A» ;
$hello = «Hello World» ;
var_dump ( $text , $binary , $hello );

$trimmed = ltrim ( $text );
var_dump ( $trimmed );

$trimmed = ltrim ( $text , » \t.» );
var_dump ( $trimmed );

$trimmed = ltrim ( $hello , «Hdle» );
var_dump ( $trimmed );

// удаляем управляющие ASCII-символы с начала $binary
// (от 0 до 31 включительно)
$clean = ltrim ( $binary , «\x00..\x1F» );
var_dump ( $clean );

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

string(32) " These are a few words :) . " string(16) " Example string " string(11) "Hello World" string(30) "These are a few words :) . " string(30) "These are a few words :) . " string(7) "o World" string(15) "Example string "

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

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

User Contributed Notes 8 notes

When using a $character_mask the trimming stops at the first character that is not on that mask.

So in the $string = «Hello world» example with $character_mask = «Hdle», ltrim($hello, $character_mask) goes like this:
1. Check H from «Hello world» => it is in the $character_mask, so remove it
2. Check e from «ello world» => it is in the $character_mask, so remove it
3. Check l from «llo world» => it is in the $character_mask, so remove it
4. Check l from «lo world» => it is in the $character_mask, so remove it
5. Check o from «o world» => it is NOT in the $character_mask, exit the function

Читайте также:  Html border left right top bottom

Remaining string is «o world».

I hope it helps someone as I had a confusing moment with this function.

For those who use right-to-left languages such as Arabic, Hebrew, etc., it’s worth mentioning that ltrim() (which stands for left trim) & rtrim() (which stands for right trim) DO NOT work contextually. The nomenclature is rather semantically incorrect. So in an RTL script, ltrim() will trim text from the right direction (i.e. beginning of RTL strings), and rtrim() will trim text from the left direction (i.e. end of RTL strings).

Guys, if += 0 is producing wrong values sometimes, and preg_replace is cpu consuming, then just stick to the main function described on that page, and use:
$value = ltrim ( $value , ‘0’ );
?>
should be the fastest and most reliable.
I think all those comments can be misleading for begginers checking this page — it’s sort of using magic tricks to reinvent the wheel.

Suppose you have to ltrim zeroes from strings like «015», «002», etc. and convert them back to numbers, eg. using intval.

Suppose you must convert to number «000» too.

$trimmedString = ltrim(‘000’, ‘0’);

the value of $trimmedString would be NULL (and I think the docs should mention this).

Anyway, I initially thought I had to conditional check for this ‘000’, but I found that intval(NULL) returns 0 (this thing is not in the docs of intval but is in a comment)

The problem is that the character mask (_stw in your case) isn’t a literal string, but a character collection. So all characters within _stw are stripped. In your case this includes the w of weight also.

Источник

Удалить указанные символы

Удалить указанные символы можно через функцию str_replace() .

$chars = ['!','#']; // символы для удаления str_replace($chars, '', 'PHP! #код#'); // PHP код 

2-ой способ: в начале и в конце строки

Удалить указанные символы в начале и в конце строки можно через функцию trim() .

# удаление символов в начале и в конце строки trim('#код#', '#'); // код trim('/index.html', '/'); // index.html trim('/page/about.html', '/'); // page/about.html 

Также есть функция ltrim() , которая удаляет указанные символы в начале строки, и функция rtrim() , которая удаляет указанные символы в конце строки.

3-ий способ: регулярные выражения

Удалить символы через регулярные выражения можно через функцию preg_replace() .

$chars = '!#'; // символы для удаления echo preg_replace('/['.$chars.']/', '', 'PHP! #код#'); // PHP код 

Авторизуйтесь, чтобы добавлять комментарии

Читайте также:  And inside if in javascript

Источник

Удаление регулярными выражениями в PHP

Примеры регулярных выражений для удаления данных из текста.

Текст и символы

Удалить все пробелы

$text = 'a b c d e'; $text = mb_ereg_replace('[\s]', '', $text); echo $text; // abcde

Удалить двойные пробелы

$text = 'a b c d e'; $text = mb_ereg_replace('[ ]+', ' ', $text); echo $text; // a b c d e

Удалить лишние пробелы перед знаками препинания

$text = 'Многие ! известные ? личности , и по сей день .'; echo preg_replace("/\s+([\.|,|!|\?]+)/", '\\1',$text);
Многие! известные? личности, и по сей день.

Оставить в тексте только буквы, цифры и пробел

$text = 'Многие известные. личности, по: сей день.'; echo mb_eregi_replace("[^a-zа-яё0-9 ]", '', $text);
Многие известные личности по сей день

Удалить цифры

$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789'; echo mb_eregi_replace('6', '', $text);
абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz

Удалить латинские буквы

$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789'; echo mb_eregi_replace('[a-z]', '', $text);
абвгдеёжзийклмнопрстуфхцчшщъыьэюя 0123456789

Удалить русские буквы

$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789'; echo mb_eregi_replace('[а-яё]', '', $text);

Удалить все буквы и цифры

$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789 . '; echo mb_eregi_replace('[\w]', '', $text);

Удалить все кроме цифр и пробелов

$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789 . '; echo mb_eregi_replace('[^0-9 ]', '', $text);

Удалить табуляцию

Удалить переносы строк

echo preg_replace("/[\r\n]/", '', $text);

Удалить определенное количество символов

Примеры удаляют девять символов в начале и конце текста.

// Удаление с начала $text = mb_eregi_replace("^.(.*)$", '\\1', $text); echo $text; // Удаление с конца $text = mb_eregi_replace("(.*)[^.]$", '\\1', $text); echo $text;

Удалить текст до определенного символа

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

$text = 'Многие известные. личности, по: сей - день.'; // Удалить до пробела echo preg_replace("/^(.*?)(\s)(.*?)$/", '\\3', $text); // Удалить до "." echo preg_replace("/^(.*?)(\.\s)(.*?)$/", '\\3', $text); // Удалить до "," echo preg_replace("/^(.*?)(,\s)(.*?)$/", '\\3', $text); // Удалить до ":" echo preg_replace("/^(.*?)(:\s)(.*?)$/", '\\3', $text); // Удалить до "-" echo preg_replace("/^(.*?)(-\s)(.*?)$/", '\\3', $text);
известные. личности, по: сей - день. личности, по: сей - день. по: сей - день. сей - день. день.

Удалить текст после символа

$text = 'Многие известные. личности, по: сей - день.'; // Удалить после пробела echo preg_replace("/^(.+?)\s.+$/", '\\1', $text); // Удалить после «.» echo preg_replace("/^(.+?)\..+$/", '\\1', $text); // Удалить после «,» echo preg_replace("/^(.+?),.+$/", '\\1', $text); // Удалить после «:» echo preg_replace("/^(.+?):.+$/", '\\1', $text); // Удалить после «-» echo preg_replace("/^(.+?)-.+$/", '\\1', $text);
Многие Многие известные Многие известные. личности Многие известные. личности, по Многие известные. личности, по: сей

Удалить скобки с их содержимым

$text = '(Casio G-SHOCK) [GW-9200-1ER] '; // Удаление (. ) echo preg_replace("/(.*?)\(.*?\)\s?(.*?)/is", '\\1\\3', $text); // Удаление [. ] echo preg_replace("/(.*?)\[.*?\]\s?(.*?)/is", '\\1\\3', $text); // Удаление echo preg_replace("/(.*?)\<.*?\>\s?(.*?)/is", '\\1\\3', $text); // Удаление [. ] echo preg_replace("/(.*?)<.*?>\s?(.*?)/is", '\\1\\3', $text);

Комментарии

Удалить комментарии из HTML

$text = '

Текст текст

'; echo preg_replace('/\s?\s?/', ' ', $text);

Удаление многострочных комментариев «/* . */»

$text = " /** * Описание функции и тд * @param name * @param defaultValue * @returns */ document.write(' '); "; echo preg_replace("/\/\*(.*?)\*\//sm", '', $text);

Удалить комментарии «//» и «#»

$text = " // По возрастанию: ksort($array); # По убыванию: krsort($array);"; $res = preg_replace("/\/\/.*\n/", '', $text); $res = preg_replace("/#.*\n/", '', $res); echo $res;

Комментарии SQL « —. »

$text = " SELECT * FROM `articles` WHERE `name` LIKE '%KEY%' -- OR `title` LIKE '%KEY%' OR `text` LIKE '%KEY%'"; echo preg_replace("/\s--.*\n/", '', $text);
SELECT * FROM `articles` WHERE `name` LIKE '%KEY%' OR `text` LIKE '%KEY%'

Нумерация строк

$text = ' 1 text text text. 2 text text text. 3 text text text. 1. text text text. 2. text text text. 3. text text text. 1) text text text. 2) text text text. 3) text text text.'; echo preg_replace('/(\d)+(\.|\)|\s)+([\s]?)+(.*)/', '\\4', $text);
text text text. text text text. text text text. text text text. text text text. text text text. text text text. text text text. text text text.

Хештеги

$text = 'broken beat, nu jazz, downtempo #nujazz, #downtempo, #intelligent'; echo preg_replace('/#([\S]+)/', '', $text);
broken beat, nu jazz, downtempo 

Источник

Как удалить все буквы, цифры и спецсимволы в строке на PHP/JavaScript?

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

Тому, как можно решить поставленные задачи, и посвящена эта статья.

Как удалить все буквы, цифры и спецсимволы в строке на PHP?

В PHP для удаления нужных символов мы воспользуемся функцией «preg_replace», с помощью которой по регулярному выражению найдем и удалим нужные нам символы.

Реализация для удаления всех букв:

Реализация для удаления всех цифр:

Реализация для удаления спецсимволов:

 ', '|', ':', '"', '', '?', '[', ']', ';', "'", ',', '.', '/', '', '~', '`', '='); $new_content = str_replace($code_match, '', $content); echo $new_content; // Выведет "12 Hello 3 world 45" ?>

В таком случае удаляются символы «! @ # $ % ^ & * ( ) _ + < >| : » ? [ ] ; ‘ , . / — ~ ` =».

Как удалить все буквы, цифры и спецсимволы в строке на JavaScript?

В JavaScript мы воспользуемся аналогичной функцией «replace», с помощью которой также по регулярному выражению удалим нужные нам символы.

Реализация для удаления всех букв:

   

Реализация для удаления всех цифр:

   

Реализация для удаления спецсимволов:

   

Если вдруг при использовании какого-либо способа у вас возникают трудности – пишите об этом в комментариях.

Источник

Оцените статью