Kepus

Рейтинг
110
Регистрация
10.01.2015
Алексей Барыкин:
Строку '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>' надо не просто бездумно вкорячивать в код, а выводить с помощью echo\print
примерно так:

echo '<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>';

Спасибо! Все получилось! Тему можно закрывать.

Поцан:
С помощью библиотеки из моего поста выше, это делалось бы вот так:
require_once('Browser.php');

$browser = new Browser();
if( $browser->getPlatform() == Browser::PLATFORM_ANDROID)
{
//часть кода, которая будет выводиться только для Android устройств
}

Предварительно поместив вот этот файл, Browser.php, в ту же папку, где будет вставлен этот код:
https://github.com/cbschuld/Browser.php/tree/master/lib

Этот Browser() класс сам разбирает за Вас переменную $_SERVER['HTTP_USER_AGENT']. Можете, конечно, в целях эксперимента сами попробовать разобрать $_SERVER['HTTP_USER_AGENT'].

Подключил все, как вы описали, но при вставке кода рекламного кода между {} появляется белая страница.

На то место, где мне нужно вывести различные баннеры для Android и iOS я вставил такой код:

<?php require_once('Browser.php');

$browser = new Browser();
if( $browser->getPlatform() == Browser::PLATFORM_ANDROID)
{
<a href="https://site.ru"><img src="https://site.ru/images/banner.png" alt=""></a>
}
?>

Что я делаю не так?

Спасибо, буду разбираться.

---------- Добавлено 22.12.2015 в 05:05 ----------

spektron:
Используй и анализируй элемент $_SERVER['HTTP_USER_AGENT']

Например, если заходят на сайт с Андроид устройства - то там проверяшь вхождение строки "Android", ну и тогда выводишь нужный тебе рекламный баннер...

Неплохое решение! Но как мне в таком случае выводить блок например для Android устройств?

<div>Тут код баннера</div>

Сейчас сделал замену строки

return $matches[1] . "<a href=\"$url\" rel=\"nofollow\" target=\"_blank\">$url</a>" . $suffix;

на

return $matches[1] . "<div href=\"$url\" rel=\"nofollow\" target=\"_blank\">$url</div>" . $suffix;

ссылка с точки зрения исходного кода стала сразу же нормально выглядеть, но из-за div не работает разумеется.

---------- Добавлено 14.12.2015 в 02:11 ----------

Вот еще, что удалось выяснить. Если удалить:

 rel=\"nofollow\"

То получается, что ссылка выводится как

<a>https://twitter.com/</a>


---------- Добавлено 14.12.2015 в 03:09 ----------

Разобрался. Проблемой был один из плагинов для маскировки ссылок.

Пользуясь случаем хочу спросить, если ссылка в комментариях помечена таким атрибутом

<a href="http://www.yandex.ru" rel="nofollow">http://www.yandex.ru</a>

Вес моего сайта не будет уходить на нее?

umercomp:
Kepus, закомментируйте строку
$r = preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
и посмотрите, что будет в коде страницы. У Вас ссылка в ссылке должна получиться

Нет, ничего ровным счетом не изменилось, совсем.

Через примерно 100 строк после нее есть такой код с описанной ваши штуковиной:

			$ret = preg_replace_callback( $url_clickable, '_make_url_clickable_cb', $ret );

$ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
$ret = preg_replace_callback( '#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret );

$ret = substr( $ret, 1, -1 ); // Remove our whitespace padding.
$r .= $ret;
}
}

// Cleanup of accidental links within links
$r = preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
return $r;
}


---------- Добавлено 13.12.2015 в 23:30 ----------

Вот ссылка на полный файл, который отвечает за то, что мне нужно.

https://yadi.sk/d/E_iBU1kpmCTvc

Так в том-то и дело, что я не понимаю как это происходит. Если я удаляю строку, которую нужно изменить или вношу в нее изменения, то все ссылки в комментариях меняются либо полностью пропадают.

Если я бы знал почему она меняется, то сам бы решил эту проблему.

Скопировал верно, твиттер взял для примера.

Например https://twitter.ru (сейчас он кликабельный, и при этом текст выглядит как ссылка)

Печально, сейчас продление в зоне com стоит 800 рублей....

За последние 40-50 дней не случилось ни одной проблемы. Надеюсь, что они не появятся и в дальнейшем. Хочу выразить огромную благодарность iHor за качественный и недорогой хостинг!

Всего: 559