С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 17/12/11 в 23:01 |
Вобщем, такая ситуация. Надо экранировать кавычки в метадеске.
В кинковских фидах в некоторых постах присутствуют неэкранированные кавычки и хтмл-код. Деск из фида в инкси используется для метадеска.
В инкси парсинг, как я понял, никак не обрабатывает кавычки и хтмл кодвнутри десков и тайтлов.
Отсюда получается такая хрень
<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 - не получилось.
Вобщем, если кто сталкивался - помогите решить проблему.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 17/12/11 в 23:53 |
вероятно стоит чистить дески
на 0-9a-z и несколько знаков препинания. остальное нах
|
|
|
|
С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 18/12/11 в 01:24 |
Sterx: Каким образом?
|
|
|
|
С нами с 16.10.09
Сообщения: 343
Рейтинг: 419
|
Добавлено: 18/12/11 в 03:50 |
Попробуй addslashes($desc)
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 18/12/11 в 09:51 |
Код: [развернуть] |
for($i=0;$i<strlen($desc);$i++){if(preg_match("/^([a-z0-9 ]*)$/i",$desc{$i})){$clearDesc.=$desc{$i};}}
|
|
|
|
|
С нами с 16.10.09
Сообщения: 343
Рейтинг: 419
|
Добавлено: 18/12/11 в 10:48 |
Sterx:
Что за хуйню написал, сам понял?
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760
|
Добавлено: 18/12/11 в 11:02 |
это не тебе
|
|
|
|
С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 18/12/11 в 12:53 |
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')?> Наверно внутри инкси стандартные ф-ции не работают.
|
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 18/12/11 в 22:36 |
<?php
$desc=Inxy::description();
echo $desc;
?>
Посмотри что выдает я думаю сразу станет ясно...
|
|
|
|
С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 18/12/11 в 23:28 |
JM:
Выдает нормальный читаемый деск Думаешь я не догадался это сделать?
Проблема в том, что в коде content заключается в кавычки, а ехо нет. Если вывести так
<?php
$desc=Inxy::description();
echo 'content="'.$desc;
?>
будет вот та жопа
Вобщем - хотите сделать сиджетуб на инкси - ставьте смарт
Наверно так и сделаю
|
|
|
|
С нами с 08.02.03
Сообщения: 10564
Рейтинг: 5962
|
Добавлено: 19/12/11 в 09:12 |
да не я просто думал он там чето гдето кеширует может и может это дело можно отключить...?
|
|
|
|