Мне нужно, чтобы, если пользователь вводит не отвечающий AdSense код, этот код должен быть преобразован в адаптивный код следующим образом:
НЕ ОТВЕТСТВЕННЫЙ КОД:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- non responsive ads -->
<ins class="adsbygoogle"style="display:inline-block;width:728px;height:90px"data-ad-client="ca-pub-12345"data-ad-slot="xxxxxxxxxxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Вышеупомянутый кодекс должен быть преобразован в:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"style="display:block"data-ad-client="ca-pub-12345"data-ad-slot="xxxxxxxxxxxxxx"data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Я думаю, что работа может быть выполнена с помощью preg_match
но как?
Благодарю.
Вы не можете сделать это (насколько я знаю).
Эта (неотвечающая) конфигурация устройства хранится на серверах Google:
{
"status": "ACTIVE",
"kind": "adsense#adUnit",
"code": "xxxxxxxxxxxxxx",
"name": "non responsive ads",
"savedStyleId": "qwertzuiopšđžasdfghjklyxcvbnmqwerfvbgtzhnmjgbvfredcxsw",
"contentAdsSettings": {
"type": "TEXT_IMAGE",
"backupOption": {
"type": "BLANK"},
"size": "SIZE_728_90"},
"id": "ca-pub-12345:xxxxxxxxxxxxxx"}
pagead2.googlesyndication.com рассмотрит data-ad-slot="xxxxxxxxxxxxxx"
рекламные запросы как запрос SIZE_728_90
формат, и вы не можете изменить это «на лету» — вам нужно создать еще один рекламный блок, если вам нужен другой size
,
Даже если вы сделаете это, и это будет выглядеть как «это работает», это все равно является нарушением политик AdSense и представляет риск для всех участвующих аккаунтов AdSense и показа рекламы на вашем сайте. (Потому что «конвертированный» код сделает вас процентом недействительных показов рекламы и / или неправильных запросов.)
Модификация рекламного кода AdSense
https://support.google.com/adsense/answer/1354736?hl=en
Создайте адаптивный рекламный блок
https://support.google.com/adsense/answer/3543893?hl=en
Других решений пока нет …