Sc0undRel
@Sc0undRel

Как удалить пробелы в строке PHP и SQL?

5d4daa4839522613029957.png

Я паршу с сайта значения вот таких ссылок.
Как видно, тут полно пробелов..

1. Как переписать парсер на PHP, чтоб парсил только значение без пробелов?
Так не помогает, остаются пробелы
$domain = str_replace(' ', '', $e->plaintext);

2. Как в SQL базе почистить уже спарсенные подобные значения? удалить оттуда все пробелы.
Вот такой запрос не помог, остались пробелы
UPDATE `domains` SET `domain` = REPLACE(`domain`, ' ', '')

Вот что остаётся после $domain = str_replace(' ', '', $e->plaintext);
5d4dab9c028da522858431.png
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
glaphire
@glaphire
PHP developer
функцию trim в php пробовали? Есть еще вариант, что символ выглядит как пробел, но закодирован иначе чем стандартный пробел, тогда надо его определять и уже конкретно его тримить/стрреплейсить
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AK-VoronM
@AK-VoronM
"Мало-мало программист"
Вот такой адовый кусочек кода поможет выдрать пробельные символы из строки, полученной из внешних источников.
function stripWhitespaces(string $string): string {
        $old_string = $string;
        $string = strip_tags($string);
        $string = preg_replace('/([^\pL\pN\pP\pS\pZ])|([\xC2\xA0])/u', ' ', $string);
        $string = str_replace('  ',' ', $string);
        $string = trim($string);

        if ($string === $old_string) {
            return $string;
        } else {
            return stripWhitespaces($string);
        }
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы