Примеры регулярных выражений для удаления данных из текста.
Удалить все пробелы
Удалить двойные пробелы
Удалить лишние пробелы перед знаками препинания
$text = 'Многие ! известные ? личности , и по сей день .';
echo preg_replace("/\s+([\.|,|!|\?]+)/", '\\1',$text);
Многие! известные? личности, и по сей день.
Оставить в тексте только буквы, цифры и пробел
$text = 'Многие известные. личности, по: сей день.';
echo mb_eregi_replace("[^a-zа-яё0-9 ]", '', $text);
Многие известные личности по сей день
Удалить цифры
$text = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя abcdefghijklmnopqrstuvwxyz 0123456789';
echo mb_eregi_replace('[0-9]', '', $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);
Удалить табуляцию
Удалить переносы строк
Удалить определенное количество символов
Примеры удаляют девять символов в начале и конце текста.
// Удаление с начала
$text = mb_eregi_replace("^.{9}(.*)$", '\\1', $text);
echo $text;
// Удаление с конца
$text = mb_eregi_replace("(.*)[^.]{9}$", '\\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] {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);
Удалить комментарии из HTML
$text = '<p>Текст <!--комментарий--> текст</p>';
echo preg_replace('/\s?<!--.*-->\s?/', ' ', $text);
<p>Текст текст</p>
Удаление многострочных комментариев «/* ... */»
$text = "
/**
* Описание функции и тд
* @param name
* @param defaultValue
* @returns {*}
*/
document.write('<p><b></b></p>');
";
echo preg_replace("/\/\*(.*?)\*\//sm", '', $text);
document.write('<p><b></b></p>');
Удалить комментарии «//» и «#»
$text = "
// По возрастанию:
ksort($array);
# По убыванию:
krsort($array);";
$res = preg_replace("/\/\/.*\n/", '', $text);
$res = preg_replace("/#.*\n/", '', $res);
echo $res;
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);
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