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

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

1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

echo preg_replace("/[\t]/", '', $text);
PHP

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

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

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

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

// Удаление с начала
$text = mb_eregi_replace("^.{9}(.*)$", '\\1', $text);
echo $text;

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

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

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

$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);
PHP
известные. личности, по: сей - день.
личности, по: сей - день.
по: сей - день.
сей - день.
день.

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

$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);
PHP
Многие
Многие известные
Многие известные. личности
Многие известные. личности, по
Многие известные. личности, по: сей

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

$text = '(Casio G-SHOCK) [GW-9200-1ER] {GW-9200-1E} <Casio G-SHOCK>';

// Удаление (...)
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);
PHP
2

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

$text = '<p>Текст <!--комментарий--> текст</p>';
echo preg_replace('/\s?<!--.*-->\s?/', ' ', $text);
PHP
<p>Текст текст</p>

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

$text = "
	/**
	 * Описание функции и тд
	 * @param name
	 * @param defaultValue
	 * @returns {*}
	*/ 
	document.write('<p><b></b></p>');
";

echo preg_replace("/\/\*(.*?)\*\//sm", '', $text);
PHP
document.write('<p><b></b></p>');

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

$text = "
// По возрастанию:
ksort($array);
# По убыванию:
krsort($array);";

$res = preg_replace("/\/\/.*\n/", '', $text);
$res = preg_replace("/#.*\n/", '', $res);
echo $res;
PHP
ksort();
krsort();

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

$text = "
SELECT 
	* 
FROM 
	`articles` 
WHERE 
	`name` LIKE '%KEY%' 
	-- OR `title` LIKE '%KEY%' 
	OR `text` LIKE '%KEY%'";

echo preg_replace("/\s--.*\n/", '', $text);
PHP
SELECT 
    * 
FROM 
    `articles` 
WHERE 
	`name` LIKE '%KEY%' 
	OR `text` LIKE '%KEY%'
3
$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);
PHP
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.
4
$text = 'broken beat, nu jazz, downtempo #nujazz, #downtempo, #intelligent';
echo preg_replace('/#([\S]+)/', '', $text);
PHP
broken beat, nu jazz, downtempo   
31.03.2018, обновлено 07.04.2022
46821

Комментарии

, чтобы добавить комментарий.

Другие публикации

Регулярные выражения для замены на теги
Замена URL, e-mail и текста на HTML-теги по регулярному выражению PHP.
5099
+4
Проверка данных регулярными выражениями
Сборник регулярных выражений с примерами на PHP для проверки данных из полей форм.
18769
+7
Как дописать стили в атрибут style тегов HTML через PHP
Данный вопрос возникает при верстке писем т.к. стили прописанные в head в почтовых сервисах и программах не работают, а...
18649
+3
Шорткоды на регулярных выражениях
Часто на сайтах возникает необходимость вставлять в тексты страниц динамичные информационные блоки – баннеры, телефоны...
5569
+3
Регулярные выражения для удаления тегов
Подборка регулярных выражений для удаления HTML тегов и атрибутов.
20361
+10
Загрузка файлов на сервер PHP
В статье приведен пример формы и php-скрипта для безопасной загрузки файлов на сервер, возможные ошибки и рекомендации при работе с данной темой.
71775
+22