Powinien zamieniać
Cytat
[img=adres]podpis[/img]
na
Oto skrypt.
<?php //$str to zawartość artykułu. //Funkcja sprawdzająca, czy plik z zewnętrznego serwera istnieje. Nie mojego autor
stwa. function remote_file_exists($filename) { $ch = curl_init($filename); curl_setopt($ch, CURLOPT_NOBODY, true); curl_exec($ch); $response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return ($response_code == 200); } //Funkcja pobierająca szerokość obrazka function img_width($imgwidthcheck) { if (!remote_file_exists($imgwidthcheck)) { $image = 'http://mojastrona.pl/brak.gif'; } else { $imagewidth = $imgwidthcheck; } $szer = $dane[0]; return $szer; } //Funkcja sprawdzająca, czy obrazek istnieje. Jeżeli nie, obrazek zostaje zastąpio
ny przez //http://mojastrona.pl/brak.gif function obrazek_exists($imgcheck) { if (!remote_file_exists($imgcheck)) { $image = 'http://mojastrona.pl/brak.gif'; } else { $image = $imgcheck; } return $image; } //Funkcja BBCODE Function bbcode($str){ $naco = <<<EOPHP '<div class="divimg" style="width: '.img_width('2').'px;"> <div> <img src="'.obrazek_exists('2').'" alt="" /> </div> <div>4</div> </div>' EOPHP; $zamien = '#[img=(W?)(.*?)(W?)](.*?)[/img]#e'; //(...) } ?>
Działa strasznie wolno. Nie sprawdzałem, jaki jest czas wykonania skryptu, ale kiedy przechodzę na stronę z użytym [img=adres]podpis[/img], to strona ładuje się dużo wolniej, a czasami wywala błąd:
Cytat
MySQL server has gone away
i zawartość strony po błędzie nie ładuje się.Czy pomógłby mi ktoś odchudzić ten skrypt?
A może wiecie, jak zostało to rozwiązane na wikipedii? (wiem, na wikipedii skrypt ten jest bardziej rozbudowany i funkcjonalny)
http://wiesz.squarezone.pl/WIESZ:Uwagi_o_w...3.C5.82_obrazka
Dziękuję.