st01en
Вобщем, такая ситуация. Надо экранировать кавычки в метадеске.
В кинковских фидах в некоторых постах присутствуют неэкранированные кавычки и хтмл-код. Деск из фида в инкси используется для метадеска.
В инкси парсинг, как я понял, никак не обрабатывает кавычки и хтмл кодвнутри десков и тайтлов.
Отсюда получается такая хрень
<meta name="description" content=
"Amy Brooke is back and this time it almost cost her her sanity. Bound helpless in a "fuck me" position she cannot imagine the brutal hell we are about to unleash on her pussy and ass.<br /><br />To make this simple and и тд
Как видно, деск закрылся первой же кавычкой в тексте. Весь остальной текст висит бородой в самом верху страницы и смешивается с кодом плеера, потому что дальше тоже есть кавычка, которая, как считает скрипт инкси - открывает что-то.
Общение с супортом инкси результатов не дало, они просто не понимают, что такие вещи надо делать в парсере, чтоб в базе был уже или чистый текст или текст с экранированными спецсимволами.Если б вы почитали нашу переписку - долго смеялись бы.Но я уже заебался с ними смеяться...
Пробовал, все доступные ф-ции, но такое впечатление, что в инкси весь пхп заменен на какой-то свой код и стандартные ф-ции не работают.
Вот в частности такой код ничего не меняет
<?php
$desc=Inxy::description();
$s="a";
$r="xxxxxxxxxxxxxxxxxxxxx";
$desc2=
str_replace($s,$r,$desc);
echo $desc2;
?>
Т.е., тупо выводит тот же текст без замены.
Если же поменять так
<?php
$desc=Inxy::description();
$s="a";
$r="xxxxxxxxxxxxxxxxxxxxx";
$desc2=
str_ireplace($s,$r,$desc);
echo $desc2;
?>
то выдает вот такую хрень
5CEDF6EE-47B1-11DF-xxxxxxxxxxxxxxxxxxxxx96C-128B56D89593
Как я понимаю - это какой-то внутренний код ошибки инкси или еще какая-то хрень.Причем здесь почему-то заменилось.
addslashes(), htmlspecialchars() тоже не работают, пробовал перевести кавычки в хтмл и потом заменить str_replace - не получилось.
Вобщем, если кто сталкивался - помогите решить проблему.
st01en
Noobus Boobus: я же писал
st01en писал:
addslashes(), htmlspecialchars() тоже не работают, пробовал перевести кавычки в хтмл и потом заменить str_replace - не получилось.
Sterx:
<?php
$desc=Inxy::description();
for($i=0;$i<strlen($desc);$i++)
{if(preg_match("/^([a-z0-9 ]*)$/i",$desc{$i}))
{$clearDesc.=$desc{$i};}}
echo $clearDesc;
?>
Выводит такую хуйню - 5CEDF6EE47B111DFA96C128B56D89593. Наверно нихрена не получится. Деск выводится в шаблоне, который в свою очередь вызывается ф-цией инкси <?Inxy::setLayout('gal')?> Наверно внутри инкси стандартные ф-ции не работают.
st01en
JM:
Выдает нормальный читаемый деск
Думаешь я не догадался это сделать?
Проблема в том, что в коде content заключается в кавычки, а ехо нет. Если вывести так
<?php
$desc=Inxy::description();
echo 'content="'.$desc;
?>
будет вот та жопа
Вобщем - хотите сделать сиджетуб на инкси - ставьте смарт
Наверно так и сделаю