Подтвердить что ты не робот

Заменить символы, скрытые в тексте

Как удалить   (скрытые) и SPACES в тексте ниже, но

  • содержать символы UNICODE
  • тэг <br>

i:

  • Я использовал trim($string) = > НЕ РАБОТАЕТ
  • Я использовал str_replace('&nbsp;', '', $string) = > НЕ РАБОТАЕТ
  • Я использовал некоторое regex = > NOT WORKED

                <br>تاريخ ورود: یکشنبه ۲۳ بهمن ماه ۱۳۹۰
    

UPDATE: Image of hidden   Благодаря

ЗАКЛЮЧИТЕЛЬНОЕ РЕШЕНИЕ:

            $string = htmlentities($string, null, 'utf-8');
            $string = str_replace("&nbsp;", "", $string);
4b9b3361

Ответ 1

Не тестировалось, но если вы используете что-то вроде:

$string = preg_replace("/\s/",'',$string);

Это должно удалить все пробелы.

UPDATE

Чтобы удалить все пробелы и ссылки &nbsp;, используйте что-то вроде:

$string = preg_replace("/\s|&nbsp;/",'',$string);

ОБНОВЛЕНИЕ 2

Попробуйте следующее:

$string = html_entity_decode($string);

$string = preg_replace("/\s/",'',$string);

echo $string;

Забыл сказать, переконвертировать html-объекты, чтобы добавить это после замены:

htmlentities($string);

Ответ 2

Это решение будет работать, я его протестировал:

$string = htmlentities($content, null, 'utf-8');
$content = str_replace("&nbsp;", "", $string);
$content = html_entity_decode($content);

Ответ 3

Все решения над чем-то трудятся, пока не начнете работать с немецким языком, где есть такие буквы:

ä &auml;

и схожие. Я использую следующий код:

$string = preg_replace ( "!\s++!u", ' ', $string );

Подробнее здесь: PCRE (3) Руководство по функциям библиотеки

Ответ 4

Вторая строка прекрасна, но вы просто удаляете  , Если вы также хотите удалить пробелы, добавьте:

str_replace(' ', '', $string);

Ответ 5

Заменить - хорошая идея, но вам нужно использовать многобайтную функцию. Вы можете найти некоторые варианты в комментариях здесь: http://php.net/manual/en/ref.mbstring.php

Ответ 6

Это сработало для меня.

preg_replace("/&nbsp;/",'',$string)

Ответ 7

Это также будет работать:

function clean($str)
{
  $str = str_replace("&nbsp;", " ", $str);
  $str = preg_replace('/\s+/', ' ',$str);
  $str = trim($str);
  return $str;
}