Этот вопрос закрыт для ответов, так как повторяет вопрос PHP: Как выделить из строки 4 цифры?
malevi
@malevi

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

Есть множество строк, где порой бывает по несколько слов и аббревиатур с цифрами (что-то типа "Шланг С10 резиновый 0145 для сада", "Шланг 6547", "Шланг резиновый D22 6842").
Мне нужно в цикле повырезать с этих строк только те "слова" в которых только 4 цифры. то есть вырезать только "6842"
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
TNPTSYWWCC
@TNPTSYWWCC
And I Told Them I Invented Times New Roman
<?php
$messages = [
    "Шланг С10 резиновый 0145 для сада",
    "Шланг 6547",
    "Шланг резиновый D22 6842"
];

function removeFourDegits ($inputString) {
    // Remove 4 degits
    $outputString = preg_replace('/\d{4}/m', "", $inputString);
    // Remove multiple whitespace
    $outputString = preg_replace('/\s+/', " ", $outputString);
    // Remove useless whitespaces
    return trim($outputString);
}

$filteredMessages = array_map(fn($message) => removeFourDegits($message), $messages);
var_dump($filteredMessages);
/*
array(3) {
  [0]=>
  string(50) "Шланг С10 резиновый для сада"
  [1]=>
  string(10) "Шланг"
  [2]=>
  string(33) "Шланг резиновый D22"
}
*/


https://regex101.com - тут тестишь регулярки
PHP remove multiple whitespaces - Первая ссылка в гугле по запросу "PHP remove multiple whitespaces"
Remove first 4 characters of a string with PHP - Первая ссылка в гугле по запросу "php remove 4 digits"

Остальное:
array_map()
trim()
preg_replace()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы