
Całość wygląda tak:
Kod
$gunwo = preg_match_all('#src="(https?://[^"]+)" [^/]+#', $finalOutput, $matches);
foreach ($matches[1] as $url) {
$siusiak = base64_encode($url);
$finalOutput = str_replace($url, 'https://skript.pl/proxy/img/index.php?url='.$siusiak.'', $finalOutput);
}
foreach ($matches[1] as $url) {
$siusiak = base64_encode($url);
$finalOutput = str_replace($url, 'https://skript.pl/proxy/img/index.php?url='.$siusiak.'', $finalOutput);
}
Nie zwracajcie uwagi na nazwy zmiennych.
Dodam, że całość działa na IPB 3.4.6, dokładie w pliku htmlOutput.php jeżeli komuś potrzebna taka informacja.
Huh, nadal nie wyjaśniłem na czym polega problem :/ Chodzi o to, że funkcja preg_match_all() nie "wykrywa" wszystkich adresów, przykład:
ten działa: https://skript.pl/uploads/imgs/skriptpl_143...go_150px_60.png
a ten już nie: https://skript.pl/uploads/imgs/skriptpl_143..._3d-tree_16.png
No i ktoś potrafi mi wyjaśnić w czym jest problem?

Zrobiłem też dodatkowy skrypt, aby coś sprawdzić:
Kod
$url = $_GET['url'];
$siusiak = base64_encode($url);
echo 'URL: '.$url.' <br/>';
echo 'base64: '.$siusiak.' <br/>';
echo '<img src="index.php?url='.$siusiak.'" />';
$siusiak = base64_encode($url);
echo 'URL: '.$url.' <br/>';
echo 'base64: '.$siusiak.' <br/>';
echo '<img src="index.php?url='.$siusiak.'" />';
Efekt dostępny tutaj: https://skript.pl/proxy/img/test.php?url=
Podając te dwa adresy, które dałem wcześniej, obydwa działają co mnie również zaskoczyło, bo przecież ten drugi link nie działał (https://skript.pl/uploads/imgs/skriptpl_1433968510__3d-tree_16.png), a tutaj działa: https://skript.pl/proxy/img/test.php?url=ht..._3d-tree_16.png
Jeżeli ktoś zechce mi pomóc będę bardzo wdzięczny
