wpseo и кавычки-елочки

Скажите кто знает как заставить плагин wpseo вырезать из description и keywords при автоматическом формировании оных русские кавычки-елочки?

Наверное это здесь?

  function get_cleaned_data($data = '') {
      return trim(preg_replace("/(\/\*.*?\*\/|<!--.*?-->| {2,})/", ' ', $data));
  }

Кавычки-елочки:
&laquo; и &raquo;

Пробовала засунуть таким образом, но не работает:

  function get_cleaned_data($data = '') {
      return trim(preg_replace("&laquo;&raquo;/(\/\*.*?\*\/|<!--.*?-->| {2,})/", ' ', $data));
  }

В общем, хелп 🙂

Регулярное выражение должно выглядеть примерно так имхо: /&[lr]aquo;/

Я сперва на верхнюю часть не посмотрел, а как посмотрел– не могу разобраться в смысле выражения.

Его основа – альтернативный выбор из трех вариантов – /(что-то|еще что-то|и еще что-то)/

ОК.

С первым "что-то" вроде ясно – 2 слэша, между которыми что-то могет быть. Я написал бы проще : \/[^\/]*\/

Второе очевидно – убрать комментарий

А вот третье – это вообще кусок, сам по себе смысла не имеющий. Конструкция {2,} означает "2 или более символов". Но каких – перед ней не указано. А должно бы. (Может, в PHp свои заморочки, но сомневаюсь)

В любдм случае попробуйте так : /(&[lr]aquo;|\/\*.*?\*\/|<!–.*?–>| {2,})/ – то есть добавили одну альтернативу, и все тут.

Тю ты 😉 Третье – замена 2 и более пробелов на один. Не заметил, потому что всегда ставлю не пробел как таковой, а \s. И в первом случае имееется ввиду комментарий типа /* */.
Невнимательность моя. А тут все верно значит и логично.

не, что-то не выходит… не вырезаются кавычки… 🙁

Ну я не пробовал. давайте так – пробуйте без премудростей, а явно: /(&laquo;|&raquo;|\/\*.*?\*\/|<!–.*?–>| {2,})/

Если не получится, то тогда займусь этим сам практически.

попробовал. Все нормально. проверьте так:

в каком-нибудь php файле пишете примерно так:

function get_cleaned_data($data = ”) {
return trim(preg_replace("/(&[lr]aquo;|\/\*.*?\*\/|<!–.*?–>| {2,})/", ‘ ‘, $data));
}

$text = ‘asdfsfs &laquo;sonika&raquo; fsdfgghgjg’;
$res = get_cleaned_data($text);
echo($res);

и шо имеем на выходе? 😉

Кстати, чистить на предмет пробелов лучше не наряду со всем остальным, а после, поскольку выполнение каждой альтернативы создает свой пробел, но поскольку возврата не происходит имхо, то эти пробелы остаются, а вычищаются только существовавшие ранее множественные пробелы. И лучше чистить не просто " " (пробел), а табуляции и проч.подобные вещи тож. ставьте \s вместо пробела в последней альтернативе.

Коллеги, а WP "ёлочки" на уникодики не меняет часом? Может не того зайца ловите? 🙂

Не, Ю.Б. – это голова 😉

Хм, проверил в тесте одной своей страницы имеется слоган в рус.лаптях – там все, как ранее предполагалось…

может, не голова? 😉 lol

нее, не получается.
А может это потому, что я пишу фактически так: «привед» (т.е. не кодом &laquo; и &raquo;)? Хотя в description они «превращаются» в
&laquo;привед&raquo;

наверное 😉

вставляйте еще альтернативы : /(<<|>>|……..

а вообще не надо так скобки использовать…

наверное ;) 
вставляйте еще альтернативы : /(<<|>>|........
а вообще не надо так скобки использовать...

Почему? Оч. удобно, ввожу с клавиатуры, уже привыкла: «»„“—&#8800;&#215;©…
я вообще правильно пристоила?:

return trim(preg_replace("/(<<|>>|«|»|&laquo;|&raquo;|\/\*.*?\*\/|<!--.*?-->| {2,})/", ' ', $data));

и сейчас стоят как вкопанные…

все вроде правильно – вы же сами, наверное, структуру такого выражения уже понимаете?

попробуйте как я рекомендовал выше (отдельный пример, вне самого плагина функция). Может, дело не в этом?

и вообще -сделайте-ка echo(данные перед вхождением в функцию) – может вы ничего ей не передаете?

Проверьте – чистит ли функция комменты, кучи пробелов. Или проблема ТОЛЬКО с лаптями?

хм… ничего не чистится:

написала:
встетить /«Медведа» в центре "Сочи"     можно <!--тут-->.
получилось:
встетить /&laquo;Медведа&raquo; в центре \"центре\"     можно &lt;!--тут--&gt;.

при повторном редактировании вообще фигня выходит — после первой кавычки " текст пропадает…

Осмелюсь предположить (учитывая при этом, что в ВП я еще лопух), что имеет право быть такая версия (при условии, что Вы все делаете верно (а вероятность этого весьма высока, поскольку Вы девушка умная)) : а нет ли здесь какого-то конфликта плагинов?

В принципе – бывает такое? Мне кажется, что быть такое очень даже может, если учесть идеологию самой системы. А у Вас, готов поспорить, плагинов активировано немеряно 😉 Но Вам и др. знатокам виднее.

Наверное, я, если бы попал в эту ситуацию, завел бы на своем локальном сервере еще один сайт с ВП для тестирования таких моментов. Сделал бы, установил только пару 100% необходимых плагинов (типа RusLat) и этот. И глянул бы.

Одно могу сказать точно – рег. выражение – рабочее.

Вероятность не так уж высока — я и великий и могучий php существуем в разных вселенных 🙂 На днях попробую… спасибо за помощь!

А сам плагин в натуральном виде – чистит или нет?

У меня проблема с самим ВП ((
Он в тесте все елочки "закрывает", даже те, которые должны открываться ((((
Что за баг такой? Знаете?

Anonymous
Отправить
Ответ на: