Старый 15.07.2008, 04:02   #1
Новичок
 
Регистрация: 12.07.2008
Сообщений: 3
Вес репутации: 0
VolCh на пути к лучшему
По умолчанию О результате return_links()

Понятно, что выводит она в случае если линки есть, когда нет - тоже понятно, в принципе. Хочу сделать так, чтобы если нет ссылки, то и не выводить пустой блок в котором она выводилась бы. Достаточно ли будет проверить вывод функции на тег <a> или параметр href, или могут быть какие-то подводные камни, например при проверке роботом системы?

И еще вопрос - указанные в настройках разделители ссылок в проверке размещения ссылок участвуют или я могу "распарсить" результат по разделителю в массив, например, и выводить как и где мне будет угодно (естественно от и до разделителя ничего не меняя)? Просто использование разделительного кода в моем движке идеологически неверно - я вызываю шаблон "таблицы" и указываю массивом какие строки выводить в таблице, причем шаблоны "таблиц" могут быть разными, одни, например, действительно таблицы, другие списки, третьи span'ы или div'ы, то есть универсального разделителя типа </td></tr><tr><td> или </ll><li> использовать не могу.

Добавлено через 13 минут
Второй вопрос снимается, в принципе если можно вызывать return_links(1) в цикле, то результат будет такой же, как и при "распарсиванию' по разделителю в массив.

А первый остается, если в результате есть что-то отличное от пустого места и нет тега <a>, то нужно ли выводить этот результат?

Последний раз редактировалось VolCh; 15.07.2008 в 04:02. Причина: Добавлено сообщение
VolCh вне форума   Ответить с цитированием
Старый 15.07.2008, 06:09   #2
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,346
Вес репутации: 463
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Цитата:
Сообщение от VolCh Посмотреть сообщение
если в результате есть что-то отличное от пустого места и нет тега <a>, то нужно ли выводить этот результат?
$sape->return_links() выводить нужно в любом случае - во время переиндексации площадки функция возвращает комментарий с чек-кодом, по которому бот определяет наличие на странице установленного кода. Другой вопрос, что имеет смысл перед выводом проверять вхождение href и, если ссылок на странице нет, не оформлять вывод в виде блока, а давать просто echo. Примерно вот так:
PHP код:
$links $sape->return_links();
if (
ereg("href",$links)) 
{
    echo 
'<h3>Полезные ссылки</h3>';
    echo 
'<div class="sape_links">'.$links.'</div>';
}
else echo 
$links
Wink вне форума   Ответить с цитированием
Старый 15.07.2008, 06:57   #3
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 164
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

if (strlen($links)>0)
{ ....
}

если ссылок нет, то $links=="", зачем ее выводить?
Destroy вне форума   Ответить с цитированием
Старый 15.07.2008, 07:02   #4
Новичок
 
Регистрация: 12.07.2008
Сообщений: 3
Вес репутации: 0
VolCh на пути к лучшему
По умолчанию

Чек-код, насколько я понимаю, возвращается только боту, обычные посетители и поисковики его ни при каком раскладе не увидят? В таком случае может можно просто анализировать выдал код что-то или нет? Если выдал что-то отличное от пробелов, то выдавать в блок (боту же все равно чек-код в блоке или нет), а если пусто или одни пробельные символы (может такое быть, или перед выдачей trim выполянется?), то вообще ничего не выводить?

И еще вопрос по чек-коду - если у меня, например, 3 блока по 2 ссылки, и я точно знаю, что 7 ссылок никогда продавать не буду, то return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)? То есть чек-код выводится перед первой ссылкой или после последней? (я не бот, посмотреть не могу ) Просто не хочется делать отдельный вид блока "последний", а если решу больше продавать, то просто еще блоков добавлю или константу 2 поменяю в коде.

Добавлено через 4 минуты
Цитата:
Сообщение от Destroy Посмотреть сообщение
if (strlen($links)>0)
{ ....
}

если ссылок нет, то $links=="", зачем ее выводить?
там пробелы могут быть и \r\n теоретически

Последний раз редактировалось VolCh; 15.07.2008 в 07:02. Причина: Добавлено сообщение
VolCh вне форума   Ответить с цитированием
Старый 15.07.2008, 07:09   #5
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 164
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от VolCh Посмотреть сообщение
там пробелы могут быть и \r\n теоретически
Ну нет же
Просто на многих движках блоки даже не отображаются если нет контента - очень удобно для ссылок.
А вообще жаль, что в настройках нет текста до блока и после...

ЗЫ Чеккод не выводится
Destroy вне форума   Ответить с цитированием
Старый 15.07.2008, 07:29   #6
Специалист
 
Аватар для RXL
 
Регистрация: 01.11.2007
Адрес: Гондурас
Сообщений: 224
Вес репутации: 166
RXL скоро станет известенRXL скоро станет известен
По умолчанию

Цитата:
Сообщение от VolCh Посмотреть сообщение
И еще вопрос по чек-коду - если у меня, например, 3 блока по 2 ссылки, и я точно знаю, что 7 ссылок никогда продавать не буду, то return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)? То есть чек-код выводится перед первой ссылкой или после последней? (я не бот, посмотреть не могу :) ) Просто не хочется делать отдельный вид блока "последний", а если решу больше продавать, то просто еще блоков добавлю или константу 2 поменяю в коде.
Проснувшиеся слипы могут превысить ограничение. С одной стороны - это лишняя ссылка, а с другой - опасность слета других ссылок на странице по лимиту ВС. Кстати, где-то тут говорили, что теперь Сапа не дает таким слипам просыпаться.

Думаю, что полюбому правильнее делать места один в один. Жадность до добра не доводит.

Кстати, чек-код показывается всем, а не только сапе-боту.
RXL вне форума   Ответить с цитированием
Старый 15.07.2008, 07:46   #7
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 164
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от RXL Посмотреть сообщение
Кстати, чек-код показывается всем, а не только сапе-боту.
Чтоб чеккод отображался нужно специально это настраивать (faq), при обычной продаже ссылок НЕТ никакого чеккода, иначе Яша всех бы уже давно попалил...
Destroy вне форума   Ответить с цитированием
Старый 15.07.2008, 07:46   #8
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,346
Вес репутации: 463
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Цитата:
Сообщение от VolCh Посмотреть сообщение
Чек-код, насколько я понимаю, возвращается только боту, обычные посетители и поисковики его ни при каком раскладе не увидят? В таком случае может можно просто анализировать выдал код что-то или нет?
Можно просто длину строки анализировать при выводе, ага. А чек-код можно увидеть если включен соответствующий параметр при инициализации класса - при установке кода и анализе ошибок без этого не обойтись.

Цитата:
Сообщение от VolCh Посмотреть сообщение
return_links() без параметров в последнем обязательно вызывать или достаточно 3 раза по return_links(2)
Если указано количество ссылок, то функция не возвращает чек-код. Так что вывод без параметров делать обязательно, причем последним.
Wink вне форума   Ответить с цитированием
Старый 15.07.2008, 08:07   #9
Специалист
 
Аватар для RXL
 
Регистрация: 01.11.2007
Адрес: Гондурас
Сообщений: 224
Вес репутации: 166
RXL скоро станет известенRXL скоро станет известен
По умолчанию

Цитата:
Сообщение от VolCh Посмотреть сообщение
Если указано количество ссылок, то функция не возвращает чек-код. Так что вывод без параметров делать обязательно, причем последним.
Ничего подобного. Передайте в конструктор сапы опцию force_show_code=true и посмотрите результат.
RXL вне форума   Ответить с цитированием
Старый 15.07.2008, 08:40   #10
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,346
Вес репутации: 463
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Хм.. действительно. А в ранних версиях скрипта не выводил
Wink вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: return_links(); ?> Kom-mers Вопросы от новичков 22 07.11.2012 12:42
PHP на HTML = return_links(); ?> 1freedon1 Установка кода на различные движки 12 26.01.2008 22:32
return_links(); ?> vitant-mutant Ошибки при работе с системой 4 10.08.2007 10:19
return_links(); ?> 2jamaica Вопросы по работе системы 4 06.08.2007 21:47
return_links(); ?> auto03 Ошибки при работе с системой 4 22.06.2007 14:45


Часовой пояс GMT +3, время: 12:36.