Тема: Парсинг на php

Привет!
Делаю пагинацию для вывода в forkplayer
Суть проблемы:
не переходит на следующую страницу(остается на первой)б но не везде
если в ссылке есть

&

, то не переходит
Примеры:
1.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films

(работает)
2.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films?page=3

   (работает)
3.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films/animation

   (работает)
4.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films/animation?page=2

   (работает)

1.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films?audio=dub&page=2

   (НЕ работает)
2.

http://192.168.1.26:8888/kinotp/main.php?sort=http://kinotp.net/films?sort=imdb_rating&page=2

   (НЕ работает)

вот код

if (isset($_GET['sort'])) {
    $url=$_GET['sort'];
}

$content=file_get_contents($url);
$content=str_replace("Cкачать фильм ","",$content);
$content=str_replace(" mp4 ","",$content);
$content=str_replace("прямой ссылкой","",$content);

preg_match ("/<\/span><\/li><li><a href=\"(.*?)\">/",$content,$next2);

// echo "<pre>";
// print_r($next2[1]);
// echo "</pre>";

$a = "http://kinotp.net";


for ($i = 0; $i <= 0; $i++)
    {

    $_CH[]=["title"=>"<center>Стр. <span style=color:#159ff6>".$next2[1]."</span></center>", "logo_30x30"=>"$siteicon/folder.png", "playlist_url"=>"$siteurl/main.php?sort=" . $a . $next2[1] . ""];
    }

Кто сможет подправить?
Спасибо!

2

Re: Парсинг на php

Значения в переменных GET передаются только до первого знака &. Передайте отдельно эти параметры либо закодируйте ссылку в base64_encode и передайте один GET запрос

3

Re: Парсинг на php

Mr.Max пишет:

Значения в переменных GET передаются только до первого знака &. Передайте отдельно эти параметры либо закодируйте ссылку в base64_encode и передайте один GET запрос

Не поможешь с кодом?)

4 (2020.06.26 12:13:18 отредактировано foks5050)

Re: Парсинг на php

andrewbeats пишет:

Не поможешь с кодом?)

Можно проще. Замени & например на *

$next2=str_replace("&","*",$next2);

, а в скрипте где принимаешь меняй обратно на &

$url=str_replace("*","&",$url);
Спасибо сказали: andrewbeats1

5

Re: Парсинг на php

>Можно проще. Замени & например на *
Зачем велосипед изобретать? Я всегда делаю urlencode() того, что передаю.

Спасибо сказали: andrewbeats1

6

Re: Парсинг на php

Работает)
Спасибо всем за помощь!!!

7

Re: Парсинг на php

smsbox3 пишет:

>Можно проще. Замени & например на *
Зачем велосипед изобретать? Я всегда делаю urlencode() того, что передаю.

Ну кому как проще)) Суть то одна и та же избавится в ссылке от & )))