Jump to content
  • 0

Как сделать ссылку не кликабельной с помощью CSS


zatocnik
 Share

Question

На сайт парсится программа передач с помощью PHP и втавляется не нужная активная ссылка . Можно ли ее как то сделать не активной . В PHP файле прописываются стили . Вот тут пример публикации , там где программа передач . Помогите знатоки .

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Можно поковырять на тему position: relative + отрицательный z-index...

Но вообще по ссылке программа грузится с другого домена, так что так запросто достучаться до ее CSS едва ли выйдет. А если программа будет скачиваться и обрабатываться PHP-скриптом (как я понял из стартового поста) — что мешает этим же скриптом и ссылки убрать (хоть простейшей заменой href=".*?" регуляркой)?

Link to comment
Share on other sites

  • 0

Можно поковырять на тему position: relative + отрицательный z-index...

Но вообще по ссылке программа грузится с другого домена, так что так запросто достучаться до ее CSS едва ли выйдет. А если программа будет скачиваться и обрабатываться PHP-скриптом (как я понял из стартового поста) — что мешает этим же скриптом и ссылки убрать (хоть простейшей заменой href=".*?" регуляркой)?

А как правильно убрать ссылки с помощью дополнительных строк в скрипте ?

Вот так выглядет сам обработчик :

<?
$file = fopen("http://m.tv.yandex.ru/213/?channel=$_GET[ch]454", "r");
while (!feof ($file)) {
$buffer = $buffer.fgets($file);
}
fclose ($file);
$pos = strpos($buffer, '<div class="b-schedule">');
$buffer = substr($buffer, $pos);
$pos = strpos($buffer, '</div>');
$buffer = substr($buffer, 0,$pos);
echo $buffer;
?>

Что тут еще добавить или убрать , что бы избавиться от кликабильных ссылок на времени ?

Link to comment
Share on other sites

  • 0

$buffer = substr($buffer, 0,$pos);
echo $buffer;

Между этими строками добавить

$buffer = preg_replace('#<a[^>]*>.+</a>#isu', '', $buffer);

Время передачи думаю ему нужно оставить))

$buffer = preg_replace('#<a[^>]*>(.+)</a>#isu', '$1', $buffer);

Edited by wwt
  • Like 1
Link to comment
Share on other sites

  • 0

Все вроде как в правильном направлении , но чего то не хватает , вот что получается .

Ссылка убирается только на первой программе , остальные все так же активны .

Вот в этом коде еще что то не хватает :

$buffer = preg_replace('#<a[^>]*>(.+)</a>#isu', '$1', $buffer);

Link to comment
Share on other sites

  • 0

"m" не нужен, он включает сравнение переносов строк с ^ и $, которые у нас не используются, а обработку всех строк как единого целого тут уже включает "s".

А вот "таблетка от жадности" нужна: $buffer = preg_replace('#<a[^>]*>(.+?)</a>#isu', '$1', $buffer); (иначе регулярка с жадностью захватывает всё от первого открывающего <a ...> до последнего закрывающего </a>).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy