Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DLE_Comments has a deprecated constructor in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/comments.class.php on line 21 Как сделать ссылки на открытие программ? :: DLE FAQ

Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Ламерские вопросы » Как сделать ссылки на открытие программ?

Как сделать ссылки на открытие программ?


     Все вопросы » Ламерские вопросы    2580

вопрос
Приветствую, знатоки! Рою гугл, но не могу самостоятельно сообразить как же использовать ссылки, которые будут открывать уже установленные на компьютере пользователя программы? (интересует sopcast, ace,stream, steam).
Раньше как-то делал, но не помню. DLE 10.6. Благодарю за ответ заранее.

Ответил: login322


Разобрался!
Переходим в /engine/classes и открываем parse.class.php

Находим там строчку:

$source = preg_replace("#(^|\s|>)((http|https|ftp)://\w+[^\s\[\]\<]+)#i", '\\1[url]\\2[/url]', $source);


где
(http|https|ftp)
дописываем то, что нужно В моём случае это sop и acestream.

Моя строчка теперь выглядит так:

$source = preg_replace("#(^|\s|>)((http|https|ftp|sop|acestream)://\w+[^\s\[\]\<]+)#i", '\\1[url]\\2[/url]', $source);


Далее ищем

if( ! preg_match( "#^(http|news|https|ed2k|ftp|aim|mms)://|(magnet:?)#", $url['html'] ) AND $url['html'][0] != "/" AND $url['html'][0] != "#") {


И добавляем что нужно по аналогии с первой.
У меня теперь это выглядит так:

if( ! preg_match( "#^(http|news|https|ed2k|ftp|aim|mms|sop|acestream)://|(magnet:?)#", $url['html'] ) AND $url['html'][0] != "/" AND $url['html'][0] != "#") {


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

10 комментариев

Dark5ider
Эксперт

Dark5ider - -

Ну допустим у сопкаста ссылка выглдит так:

sop://broker.sopcast.com:3912/148887


у эйса:

acestream://77f890b8dbc45e57bc145d0ee2c9eb381ff8e1ee

login322
Юзер

login322 - -

Спасибо, это мне известно. Когда такую ссылку добавляю приложение не открывается. Просто открывается новая страница в браузере. Раньше тоже было так, что сделал - не помню.По-моему где-то в папке engine рылся... Очень давно делал, сейчас решение найти не могу :(

Мне нужно спрятать условную ссылку на эйс под "Смотреть через эйс" и чтобы по нажатию на этот текст вылазило окошко с предложением открыть программу Ace Stream

login322
Юзер

login322 - -

подниму

maks
Юзер

maks - -

Я может чего не понял, но вроде как эти ссылки нужно прописать в файл, а файл уже открывается программой.

login322
Юзер

login322 - -

Нет, через тэг URL я как-то делал...

login322
Юзер

login322 - -

То есть в тэг url я вставлял не "http://adres.ru/", а "acestream://77f890b8dbc45e57bc145d0ee2c9eb381ff8e1ee" и по нажатии на текст "смотреть" открывалось окно с предложением открыть программу Ace Stream, а если сейчас я вставлю данную ссылку, то откроется новая вкладка с адресом "acestream//77f890b8dbc45e57bc145d0ee2c9eb381ff8e1ee". Надеюсь сейчас более развёрнуто объяснил в чём проблема

maks
Юзер

maks - -

Всё должно работать, сбрось браузер по умолчанию или попробуй другой

login322
Юзер

login322 - -

Нет, без вмешательства не работает. Я разобрался уже. Сейчас напишу ответ - может кому-то пригодится.

maks
Юзер

maks - -

У меня acestream открывается без проблем, а вот sop нет.

login322
Юзер

login322 - -

Добавил ответ, может поймёшь что я хотел в итоге получить)

Похожие вопросы

наверх