Помощник
|
Вопрос по Php, проверка обратной ссылки |
Mike1111
|
Сообщение
#1
|
||
|
|
||
|
|||
life |
19.2.2010, 19:49;
Ответить: life
Сообщение
#2
|
|
$code = file_get_contents('http://backlink.ru');
$back = preg_match('/yousite.ru/i',$code); if ( $back == TRUE) { echo 'Обратная ссылка есть'; } else { echo 'Обратной ссылки нет'; } Сообщение отредактировал life - 19.2.2010, 20:31 |
|
|
seotouch |
19.2.2010, 20:00;
Ответить: seotouch
Сообщение
#3
|
|
$siteContent = file_get_contents('Здесь_Страница_На_проверку');
// куда ведет ссылка $followTo = 'линк'; if (strpos($siteContent, $followTo) > 0){ $backLink = true; } else { $backLink = false; } // .............. дальше уже манипулируем как хотим и регулярки нах не нужны Юзать примерно так: $siteContent = file_get_contents('http://yandex.ru'); // куда ведет ссылка $followTo = 'http://rasp.yandex.ru/'; if (strpos($siteContent, $followTo) > 0){ $backLink = true; } else { $backLink = false; } // .............. дальше уже манипул Сообщение отредактировал seotouch - 19.2.2010, 20:02 -------------------- |
|
|
isleman |
19.2.2010, 20:02;
Ответить: isleman
Сообщение
#4
|
|
Mike1111, выше life привел вам вполне работоспособный пример
У меня есть только три уточнения: 1. Очень существенное, проверку на простое вхождение адресса сайта делать нельзя, он может быть на странице но не являться ссылкой. Нужно делать проверку на наличие кода ссылки то есть preg_match('/yousite.ru/i',$code[1]); замениться на строку вида preg_match('<a ... yousite.ru ... <\/a>/i',$code[1]);, где вместо троеточия будет более полные условия регулярки 2. Существенное, что у функции file_get_contents() может быть закрыто обращения к внешним ресурсам хостером; 3. Логическое, что в условии if ( $back == TRUE) проверка на равенство лишняя, так как выше $back принимает логическое значение, а оператор условия как раз и работает с логическими значениями. То есть условие правильно писать так: if ($back) seotouch, приведенный вами пример с функцией strpos() конечно имеет право на жизнь, но при его использование из за вышеозначенного мной пункта 1, не имеет гибкости так как необходимо точно знать формат ссылки(ведь внутри нее могут быть и другие атрибуты кроме href и в разном порядке). Сообщение отредактировал isleman - 19.2.2010, 20:12 -------------------- |
|
|
seotouch |
19.2.2010, 20:04;
Ответить: seotouch
Сообщение
#5
|
|
Mike1111, выше life привел вам вполне работоспособный пример У меня есть только два уточнения: Существенное, что у функции file_get_contents() может быть закрыто обращения к внешним ресурсам хостером; Логическое, что в условии if ( $back == TRUE) проверка на равенство лишняя, так как выше $back принимает логическое значение, а оператор условия как раз и работает с логическими значениями. То есть условие правильно писать так: if ($back) Ну, и добавим, что $back = preg_match('/yousite.ru/i',$code[1]); - неверно $back = preg_match('/yousite.ru/i',$code); - верно -------------------- |
|
|
life |
19.2.2010, 20:14;
Ответить: life
Сообщение
#6
|
|
Ну, и добавим, что $back = preg_match('/yousite.ru/i',$code[1]); - неверно $back = preg_match('/yousite.ru/i',$code); - верно не всегда. сегодня столкнулся с проблемой, что в $code[0] ничего нет, т.е. пусто ( print_r($code) ) 3. Логическое, что в условии if ( $back == TRUE) проверка на равенство лишняя, так как выше $back принимает логическое значение, а оператор условия как раз и работает с логическими значениями. То есть условие правильно писать так: if ($back) мне так удобнее |
|
|
isleman |
19.2.2010, 20:15;
Ответить: isleman
Сообщение
#7
|
|
Ну, и добавим, что $back = preg_match('/yousite.ru/i',$code[1]); - неверно $back = preg_match('/yousite.ru/i',$code); - верно точно, не увидел видимо пример выдернут откуда то и на скорую руку откорректирован -------------------- |
|
|
seotouch |
19.2.2010, 20:16;
Ответить: seotouch
Сообщение
#8
|
|
не всегда. сегодня столкнулся с проблемой, что в $code[0] ничего нет, т.е. пусто ( print_r($code) ) мне так удобнее Ну, возможно следует документацию прочитать? $code[0] - первый символ полученной строки. .. -------------------- |
|
|
isleman |
19.2.2010, 20:19;
Ответить: isleman
Сообщение
#9
|
|
мне так удобнее ну да наглядние, но происходит лишнее действие в программе, конечно кушает оно времени и памяти мало, но если так организованых проверок много то они выливаются в существенную сумму. Всетаки не стоит забывать что PHP это интерпретатор, а не оптимизирующий компилятор. сегодня столкнулся с проблемой, что в $code[0] ничего нет, т.е. пусто ( print_r($code) ) не сталкивался, а можно более конкретный пример? -------------------- |
|
|
seotouch |
19.2.2010, 20:23;
Ответить: seotouch
Сообщение
#10
|
|
ну да наглядние, но происходит лишнее действие в программе, конечно кушает оно времени и памяти мало, но если так организованых проверок много то они выливаются в существенную сумму. Всетаки не стоит забывать что PHP это интерпретатор, а не оптимизирующий компилятор. не сталкивался, а можно более конкретный пример? Попробуйте загрузить ч-з file_get_contents сайт, у которого первый символ равен пробелу -------------------- |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3429 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1246 | 24.11.2023, 14:46 автор: alexey |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44948 | 19.7.2023, 10:03 автор: qpPeW |
|
Есть спецы по php/laravel? | 3 | Mixatraider | 1894 | 26.5.2023, 20:48 автор: Mixatraider |
|
Опытный PHP\Python разработчик в поиске интересных задач | 6 | daikzlex | 3409 | 25.5.2023, 13:55 автор: daikzlex |
Текстовая версия | Сейчас: 26.4.2024, 2:23 |