Скажите кто знает как заставить плагин wpseo вырезать из description и keywords при автоматическом формировании оных русские кавычки-елочки?
Наверное это здесь?
function get_cleaned_data($data = '') {
return trim(preg_replace("/(\/\*.*?\*\/|<!--.*?-->| {2,})/", ' ', $data));
}
Кавычки-елочки:
« и »
Пробовала засунуть таким образом, но не работает:
function get_cleaned_data($data = '') {
return trim(preg_replace("«»/(\/\*.*?\*\/|<!--.*?-->| {2,})/", ' ', $data));
}
В общем, хелп 🙂
Регулярное выражение должно выглядеть примерно так имхо: /&[lr]aquo;/
Я сперва на верхнюю часть не посмотрел, а как посмотрел– не могу разобраться в смысле выражения.
Его основа – альтернативный выбор из трех вариантов – /(что-то|еще что-то|и еще что-то)/
ОК.
С первым "что-то" вроде ясно – 2 слэша, между которыми что-то могет быть. Я написал бы проще : \/[^\/]*\/
Второе очевидно – убрать комментарий
А вот третье – это вообще кусок, сам по себе смысла не имеющий. Конструкция {2,} означает "2 или более символов". Но каких – перед ней не указано. А должно бы. (Может, в PHp свои заморочки, но сомневаюсь)
В любдм случае попробуйте так : /(&[lr]aquo;|\/\*.*?\*\/|<!–.*?–>| {2,})/ – то есть добавили одну альтернативу, и все тут.
Тю ты 😉 Третье – замена 2 и более пробелов на один. Не заметил, потому что всегда ставлю не пробел как таковой, а \s. И в первом случае имееется ввиду комментарий типа /* */.
Невнимательность моя. А тут все верно значит и логично.
не, что-то не выходит… не вырезаются кавычки… 🙁
Ну я не пробовал. давайте так – пробуйте без премудростей, а явно: /(«|»|\/\*.*?\*\/|<!–.*?–>| {2,})/
Если не получится, то тогда займусь этим сам практически.
попробовал. Все нормально. проверьте так:
в каком-нибудь php файле пишете примерно так:
function get_cleaned_data($data = ”) {
return trim(preg_replace("/(&[lr]aquo;|\/\*.*?\*\/|<!–.*?–>| {2,})/", ‘ ‘, $data));
}
$text = ‘asdfsfs «sonika» fsdfgghgjg’;
$res = get_cleaned_data($text);
echo($res);
и шо имеем на выходе? 😉
Кстати, чистить на предмет пробелов лучше не наряду со всем остальным, а после, поскольку выполнение каждой альтернативы создает свой пробел, но поскольку возврата не происходит имхо, то эти пробелы остаются, а вычищаются только существовавшие ранее множественные пробелы. И лучше чистить не просто " " (пробел), а табуляции и проч.подобные вещи тож. ставьте \s вместо пробела в последней альтернативе.
Коллеги, а WP "ёлочки" на уникодики не меняет часом? Может не того зайца ловите? 🙂
Не, Ю.Б. – это голова 😉
Хм, проверил в тесте одной своей страницы имеется слоган в рус.лаптях – там все, как ранее предполагалось…
может, не голова? 😉 lol
нее, не получается.
А может это потому, что я пишу фактически так: «привед» (т.е. не кодом « и »)? Хотя в description они «превращаются» в
«привед»
наверное 😉
вставляйте еще альтернативы : /(<<|>>|……..
а вообще не надо так скобки использовать…
Почему? Оч. удобно, ввожу с клавиатуры, уже привыкла: «»„“—≠ש…
я вообще правильно пристоила?:
и сейчас стоят как вкопанные…
все вроде правильно – вы же сами, наверное, структуру такого выражения уже понимаете?
попробуйте как я рекомендовал выше (отдельный пример, вне самого плагина функция). Может, дело не в этом?
и вообще -сделайте-ка echo(данные перед вхождением в функцию) – может вы ничего ей не передаете?
Проверьте – чистит ли функция комменты, кучи пробелов. Или проблема ТОЛЬКО с лаптями?
хм… ничего не чистится:
при повторном редактировании вообще фигня выходит — после первой кавычки " текст пропадает…
Осмелюсь предположить (учитывая при этом, что в ВП я еще лопух), что имеет право быть такая версия (при условии, что Вы все делаете верно (а вероятность этого весьма высока, поскольку Вы девушка умная)) : а нет ли здесь какого-то конфликта плагинов?
В принципе – бывает такое? Мне кажется, что быть такое очень даже может, если учесть идеологию самой системы. А у Вас, готов поспорить, плагинов активировано немеряно 😉 Но Вам и др. знатокам виднее.
Наверное, я, если бы попал в эту ситуацию, завел бы на своем локальном сервере еще один сайт с ВП для тестирования таких моментов. Сделал бы, установил только пару 100% необходимых плагинов (типа RusLat) и этот. И глянул бы.
Одно могу сказать точно – рег. выражение – рабочее.
Вероятность не так уж высока — я и великий и могучий php существуем в разных вселенных 🙂 На днях попробую… спасибо за помощь!
А сам плагин в натуральном виде – чистит или нет?
У меня проблема с самим ВП ((
Он в тесте все елочки "закрывает", даже те, которые должны открываться ((((
Что за баг такой? Знаете?