Он буквально работает, если вы наберете в специфике между кавычками:
str_replace(' ', '', $string)
^ ^^
put characters here
Так как это может возможно быть немного трудно чтобы напечатать и/или сделать исходный код менее очевидным, вы можете написать эти строковые литералы в их байтовой нотации. Просто понять, что специфика вы говорите, и какие байты это закодировано в:
str_replace("\xE2\x80\xAF", "\x0A", $string)
Это замена ZERO-WIDTH ПРОСТРАНСТВО (UTF-8 кодировки E2 80 AF
) с обычным кормом линии (0A
). Посмотрите его в своей таблице Unicode. Возможно, проверьте свою существующую строку, используя echo bin2hex($string)
, чтобы выяснить, какие байты она содержит.
Возможный дубликат [Удалить Unicode Zero Width Space PHP] (http://stackoverflow.com/questions/22600235/remove-unicode-zero-width-space-php) – Typoheads
Непечатаемое пространство/развязка? Эти вещи не существуют в Юникоде, поэтому я ожидаю, что их будет довольно сложно найти. –