Замена пустого абзаца с помощью preg_replace, пробелы не распознаются

Мне нужно изменить это:

<p> </p>

На это:

<p class="notmobile"> </p>

в строке. Кажется, просто, но следующее не работает:

$filecontent  = preg_replace('/<p> <\/p>/', '<p class="notmobile"> </p>',   $filecontent);
$filecontent  = preg_replace('/^<p> <\/p>/', '<p class="notmobile"> </p>',  $filecontent);
$filecontent  = preg_replace('/<p>\s<\/p>/', '<p class="notmobile"> </p>',  $filecontent);
$filecontent  = preg_replace('/<p>\s+<\/p>/', '<p class="notmobile"> </p>', $filecontent);
$filecontent  = str_replace('<p> </p>', '<p class="notmobile"> </p>',   $filecontent);

Чтобы убедиться, что я не схожу с ума, Я заменил xxx, чтобы превратить его в yyy, который работал нормально. Я думаю проблема в том, что мое пространство не является нормальным, поскольку содержимое, вероятно, представляет собой набор символов Windows iso-8859-1 или что-то в этом роде (или он запутался, потому что мы преобразовали это в utf -8 где-то в строке ..)

Копирование и вставка пустого абзаца из chome / firefox тоже не сработало.

Я немного застрял :( Спасибо за помощь!

Обновление: вот base64_output, AwMD - это строка нулей, которую я использовал для обозначения начала строки p, как указано выше.

AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA8L3A + DQo8cD7CoDwvcD4NCjxwPsKgPC9wPg0KPHA + wqA8L3A + DQo8cD7CoDwvcD4NCjxwPsKgPC9wPg0KPHA + wqA8L3A + DQo8cD7CoDwvcD4NCjxwPsKgPC9wPg0KPHA + wqA8L3A + DQo8cD7CoDwvcD4NCjxwPsKgPC9wPg0KPHA + wqA8L3A + DQo8cD7CoDwvcD4NCjxwPsKgPC9wPg0KPHA + YmFzZTY0ZW5jb2Rpbmc8L3A + PC9w

* Update2: Я нашел charater Ord значения в РНР: 194 следуют 160 - например, это два символа. СТРАННО. *

5
задан John Hunt 17 March 2011 в 22:56
поделиться