Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Открыть новую тему     Написать ответ в эту тему

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
теперь это завершено
 
   
 
Использовал меток <ol> И <li>
 
 

Код:
 
 
<div role="tabpanel" class="tab-pane" id="links">
<p class="bioheading">Website  
 
<ol>
<?php  
 
foreach(explode("\r", $row['links']) as $url)
 
echo '<li>' . '<a href="' . $url . '" target="_blank">' . $url .'</a>' . '</li>';  
 
?>
</ol>
</p>
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:39 21-01-2022 | Исправлено: zagorisback, 13:42 21-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этот код был опубликован до и решен,
 

Код:
 
 
<?php
            
            $haystack2 = $row->websites;  
            
            
            preg_match_all('#href=\"/out/website[^"]+\">(.*?)</a>#', $haystack2, $matches2);  
            $data2 = $matches2[1];
            $data2 = array_filter(array_unique(array_map('trim', $data2)));
            natsort($data2);  
            echo '<b>' . join(', ' , $data2 ) . '</b>';
            echo "<br>\n";
            echo '<font color="blue">' . '<b>' . count( $data2 ) . '</b>' . '</font>' . " web were found.";  
        
 
?>
 
 

 
 
Извлекает домен сайта
 
   
 
Мне нужно сделать его кликабельным, чтобы пойти на сайт
 
Я пробовал так, Но это не работает  
 

Код:
echo '<b>' . '<a href="'. join(', ' , $data2 ) .'" target="_blank">' . $data2 .'</a>' . '</b>';

 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 12:19 24-01-2022 | Исправлено: zagorisback, 13:08 24-01-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Я пробовал так, Но это не работает  

смотрите какой html код получился и так поймете в чем ошибка.

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 18:51 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
смотрите какой html код получился и так поймете в чем ошибка.
 

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

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 19:04 24-01-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Помоги мне, пожалуйста

еще раз - смотрим какой html код создается в этом месте. это и будет подсказка на то, что там неправильно.

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 19:16 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Это генерирует уникальную ссылку,
Ссылки должны быть разделены  
 
   
 

Код:
echo '<a href="' .$data2 .'" target="_blank">' . join(' *** ' , $data2 ) . '</a>';

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:44 24-01-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Ссылки должны быть разделены

ну так и создавайте их в цикле. каждую по отдельности. не знаете основ HTML? что вы хотите добиться засунув массив в href атрибут?

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 20:48 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

от другого «ваш» код в качестве ссылки
 
 
Я не понимаю, массив и созданный, но ссылка не разделена
 
 
   
 
 

Код:
 
 
$haystack2 = $row->websites;  
 
preg_match_all('#href=\"/out/website[^"]+\">(.*?)</a>#', $haystack2, $matches2);  
            $data = implode(',', str_replace(array(', ', ' '), ',', $matches2[1]));
            $data2 = explode(',', strtolower ($data));
            $data2 = array_filter(array_unique(array_map('trim', $data2)));
            natsort($data2);  
            echo  '<a href="' .$data2 .'" target="_blank">' . join(' *** ' , $data2 ) . '</a>';
            echo "<br>\n";
            echo '<font color="blue">' . '<b>' . count( $data2 ) . '</b>' . '</font>' . " web were found.";  
          
            echo '<br>';
            
            var_dump($data2);
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:41 24-01-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
млин.. ну почему она должна быть разделена? вы для каждой ссылки создаете отдельный <a href='url'>описание</a>? нет.. почему вы решили, что если запихнуть все в один <a> тег, то оно заработает??
 
что же тут непонятного?
<a href='url1,url2,url3'>что то тут</a>
не будет работать, потому что это разные URL, а атрибут href хочет только один.
надо создавать <a href='url1'>что то тут1</a><a href='url2'>что то тут2</a><a href='url3'>что то тут3</a>

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 22:42 24-01-2022 | Исправлено: Mavrikii, 22:49 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Вы думаете, что если я знал, как сделать
Так что писать здесь для помощи?
 
Если вы не хотите помочь мне, я понимаю тебя
 
Спасибо, в любом случае

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:23 24-01-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Вы думаете, что если я знал, как сделать

вы уже использовали цикл по массиву, что за детский сад?
 
$arr = ['url1', 'url2', 'url3'];
foreach($arr as $url)
echo '<a href="' . $url . '">'  . $url . '</a>';
 
что сложного?
либо $urls = array_map(function($value) { return '<a href="' . $url . '">' . $url . '</a>'; }, $arr);
и тогда вывести как ссылки в массиве  
echo join(', ', $urls);

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 23:34 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Я не программист, только самоучка
моя работа отличается
 
Во всяком случае, завтра я попробую, теперь я устал, завтра я работаю
Спасибо

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:41 24-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет Mavrikii
Я добавил свой код,
 
 

Код:
 
echo '<br>';
            
            $arr = $data2;
foreach($arr as $url)
echo '<a href="' . $url . '" target="_blank">'   . $url . '</a>';
 
 
$urls = array_map(function($value) { return '<a href="' . $url  . $url .'</a>'; }, $arr);
   
echo join(' , ', $urls);
 

 
Но что-то не работает
 
1) URL стремится к localhost (папка на моем компьютере) и не домен
 
пример:  
 
http://cinema/parsing/celebsfacts.com должен быть celebsfacts.com (и откройте его на внешнюю вкладку)
 
   
 
2) «Код выходит  
 

Код:
echo join(' , ', $urls);

 
(Смотрите экран выше)
 
полный код
 

Код:
 
 
$haystack2 = $row->websites;  
 
preg_match_all('#href=\"/out/website[^"]+\">(.*?)</a>#', $haystack2, $matches2);  
            $data2 = $matches2[1];
            $data2 = array_filter(array_unique(array_map('trim', $data2)));
            natsort($data2);  
            echo '<b>' . join(' *** ' , $data2 ) . '</b>';
            echo "<br>\n";
            echo '<font color="blue">' . '<b>' . count( $data2 ) . '</b>' . '</font>' . " web were found.";  
        
 
            /// code by Mavrikii  
            //TEST
            
            echo '<br>';
            
            echo '<br>';
            
            $arr = $data2;
foreach($arr as $url)
echo '<a href="' . $url . '" target="_blank">'   . $url . '</a>';
 
 
$urls = array_map(function($value) { return '<a href="' . $url  . $url .'</a>'; }, $arr);
   
echo join(' , ', $urls);
 
 

 
Добавлено:
 
EDIT
 
Решено, как это
Только join не работает  
 

Код:
echo join(' , ', $urls);


Код:
 
echo '<a href="//' . $url . '" target="_blank">'   . $url . '</a>';
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:47 25-01-2022 | Исправлено: zagorisback, 11:19 25-01-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Как установить этот адрес на этой странице PHP, чтобы разблокировать блок Российской Федерации?  
 

Цитата:
https://antizapret.prostovpn.org/proxy.pac

 
 
Примечание. Этот адрес введен в браузер в разделе прокси, но на этой странице она не работает  
 
это не работает
 
 

Код:
 
 
<?php
 
include('simple_html_dom.php');
 
 
// Define a context for HTTP.  
$context = array
(  
       'https' => array
       (  
              'proxy' => 'antizapret.prostovpn.org/proxy.pac', // This needs to be the server and the port of the NTLM Authentication Proxy Server.  
              'request_fulluri' => true,  
       ),  
);  
 
$context = stream_context_create($context);  
 
$html= file_get_html('http://www.link.com', false, $context);  
 
echo $html;
 
 
 
 

 
 
 
Это работает с адресом «прокси»,
Но если бы оффлайн я должен повторно ввести новый каждый раз
 
 

Код:
 
 
<?php
 
include('simple_html_dom.php');
 
 
// Define a context for HTTP.  
$context = array
(  
       'http' => array
       (  
              'proxy' => '12.151.56.30:80', // This needs to be the server and the port of the NTLM Authentication Proxy Server.  
              'request_fulluri' => true,  
       ),  
);  
 
$context = stream_context_create($context);  
 
$html= file_get_html('http://www.link.com', false, $context);  
 
echo $html;
 
 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 15:41 04-02-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
изучаем формат файла
https://en.wikipedia.org/wiki/Proxy_auto-config
скачиваем его php скриптом, анализируем, делаем в соответствии с инструкциями в файле.

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 01:39 05-02-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
zagorisback
изучаем формат файла
https://en.wikipedia.org/wiki/Proxy_auto-config
скачиваем его php скриптом, анализируем, делаем в соответствии с инструкциями в файле.

 
И так?
как сделать?
Если я знал, как это сделать, я не спрашиваю о помощи
 
Я пробовал это, но это не работает
 
 

Код:
<script>
function FindProxyForURL (url, host) {
  // our local URLs from the domains below example.com don't need a proxy:
  if (shExpMatch(host, '*.antizapret.prostovpn.org/proxy.pac')) {
    return 'DIRECT';
  }
 
  // URLs within this network are accessed through
  // port 8080 on fastproxy.example.com:
  if (isInNet(host, '10.0.0.0', '255.255.248.0')) {
    return 'PROXY antizapret.prostovpn.org/proxy.pac:8080';
  }
 
  // All other requests go through port 8080 of proxy.example.com.
  // should that fail to respond, go directly to the WWW:
  return 'PROXY antizapret.prostovpn.org/proxy.pac:8080; DIRECT';
}
 
</script>
 
 
<?php
 
include('simple_html_dom.php');
 
$html= file_get_html('http://www.link.com');  
 
echo $html;
 
 
?>


Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 07:11 05-02-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Я пробовал это, но это не работает

и не сработает. js работает в браузере или в node.js, но не в php.
надо разбирать логику.. и либо просто руками выбирать нужные прокси и использовать, если они не меняются, либо писать парсер и вытаскивать. судя по названию хостов - они не меняются, могут меняться IP адреса - ну так делать resolve IP адреса по домену  

Цитата:
return "HTTPS proxy-ssl.antizapret.prostovpn.org:3143; PROXY proxy-nossl.antizapret.prostovpn.org:29976; DIRECT";

брать домены отсюда и резолвить IP адрес (если они меняются)
https://www.php.net/manual/en/function.gethostbyname.php
 
ps: и даже резолв не нужен, php сделает это сам
https://www.php.net/manual/en/context.http.php

Цитата:
proxy string
URI specifying address of proxy server. (e.g. tcp://proxy.example.com:5100).

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 07:20 05-02-2022 | Исправлено: Mavrikii, 07:28 05-02-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Можете ли вы сделать функционирующий пример с моим кодом?

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 07:29 05-02-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
'proxy' => 'tcp://proxy-ssl.antizapret.prostovpn.org:3143'
для https сайтов и proxy-nossl.antizapret.prostovpn.org:29976 для обычных.

Всего записей: 15100 | Зарегистр. 20-09-2014 | Отправлено: 07:33 05-02-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
zagorisback
'proxy' => 'tcp://proxy-ssl.antizapret.prostovpn.org:3143'
для https сайтов и proxy-nossl.antizapret.prostovpn.org:29976 для обычных.  

 
 
идеально, вторая работает хорошо, спасибо, ты гений
 
еще,
Файл PAC также находится на компьютере (если сервер вне форума),
Как и код, чтобы вставить его?
 

Цитата:
file:///E:/__PHP__/OpenServer/domains/cinema/proxy/proxy.pac
 

 
 
Рабочий код
 

Код:
<?php
 
include('simple_html_dom.php');
 
 
// Define a context for HTTP.  
$context = array
(  
       'http' => array
       (  
              'proxy' => 'tcp://proxy-nossl.antizapret.prostovpn.org:29976', // This needs to be the server and the port of the NTLM Authentication Proxy Server.  
              'request_fulluri' => true,  
       ),  
);  
 
$context = stream_context_create($context);  
 
$html= file_get_html('http://www.link.com', false, $context);  
 
echo $html;
 
 
?>

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:04 05-02-2022 | Исправлено: zagorisback, 08:07 05-02-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru