Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Проблема с инкси
цитата
17/12/11 в 23:01
 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 - не получилось.

Вобщем, если кто сталкивался - помогите решить проблему.
цитата
17/12/11 в 23:53
 Sterx
вероятно стоит чистить дески
на 0-9a-z и несколько знаков препинания. остальное нах
цитата
18/12/11 в 01:24
 st01en
Sterx: Каким образом?
цитата
18/12/11 в 03:50
 Noobus Boobus
Попробуй addslashes($desc)
цитата
18/12/11 в 09:51
 Sterx

for($i=0;$i<strlen($desc);$i++){if(preg_match("/^([a-z0-9 ]*)$/i",$desc{$i})){$clearDesc.=$desc{$i};}}
цитата
18/12/11 в 10:48
 Noobus Boobus
Sterx:
Что за хуйню написал, сам понял?
цитата
18/12/11 в 11:02
 Sterx
это не тебе
цитата
18/12/11 в 12:53
 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')?> Наверно внутри инкси стандартные ф-ции не работают.
цитата
18/12/11 в 22:36
 JM
<?php
$desc=Inxy::description();
echo $desc;
?>
Посмотри что выдает я думаю сразу станет ясно...
цитата
18/12/11 в 23:28
 st01en
JM:
Выдает нормальный читаемый деск smail101.gif Думаешь я не догадался это сделать? smail101.gif
Проблема в том, что в коде content заключается в кавычки, а ехо нет. Если вывести так
<?php
$desc=Inxy::description();
echo 'content="'.$desc;
?>

будет вот та жопа smail101.gif
Вобщем - хотите сделать сиджетуб на инкси - ставьте смарт icon_lol.gif
Наверно так и сделаю
цитата
19/12/11 в 09:12
 JM
да не я просто думал он там чето гдето кеширует может и может это дело можно отключить...?


Эта страница в полной версии