Идеята е, че имаме 200 url-та които искаме да кодираме с php. Ето го решението(може да се направи от file,mysql или тук ако са малко директно в масив):
# cat cyr_url_encoder.php <?php $links=array( 'http://www.example.bg/', 'http://www.example.bg/cart', 'http://www.example.bg/adds/Камиони', 'http://www.example.bg/listing/931/Двигател', 'http://www.example.bg/contact', 'http://www.example.bg/parts/Бусове', 'http://www.example.bg/статия/Авточасти%20За%20Hyundai', 'http://www.example.bg/listing/935/Радиатор%20Парно', 'http://www.example.bg/listing/891/Шарнир%20Долен', 'http://www.example.bg/listing/854/Глава' );//End of $links=array( $myfile = fopen("decoded.txt", "w") or die("Unable to open file!"); foreach ($links as $link) { echo "[1]Orig: $link\n"; $link=urldecode($link); echo "[2]Decoded: $link\n"; $info=parse_url($link); $scheme=$info['scheme']; $host=$info['host']; $path=$info['path']; $path=urlencode($path); $urlencode="$scheme://$host$path"; $urlencode=str_replace("%2F","/",$urlencode); echo "[3]Encoded: $urlencode\n\n"; fwrite($myfile, "$urlencode\n"); };
Резултата:
# php cyr_url_encoder.php [1]Orig: http://www.example.bg/ [2]Decoded: http://www.example.bg/ [3]Encoded: http://www.example.bg/ [1]Orig: http://www.example.bg/cart [2]Decoded: http://www.example.bg/cart [3]Encoded: http://www.example.bg/cart [1]Orig: http://www.example.bg/adds/Камиони [2]Decoded: http://www.example.bg/adds/Камиони [3]Encoded: http://www.example.bg/adds/%D0%9A%D0%B0%D0%BC%D0%B8%D0%BE%D0%BD%D0%B8 [1]Orig: http://www.example.bg/listing/931/Двигател [2]Decoded: http://www.example.bg/listing/931/Двигател [3]Encoded: http://www.example.bg/listing/931/%D0%94%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB [1]Orig: http://www.example.bg/contact [2]Decoded: http://www.example.bg/contact [3]Encoded: http://www.example.bg/contact [1]Orig: http://www.example.bg/parts/Бусове [2]Decoded: http://www.example.bg/parts/Бусове [3]Encoded: http://www.example.bg/parts/%D0%91%D1%83%D1%81%D0%BE%D0%B2%D0%B5 [1]Orig: http://www.example.bg/статия/Авточасти%20За%20Hyundai [2]Decoded: http://www.example.bg/статия/Авточасти За Hyundai [3]Encoded: http://www.example.bg/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%8F/%D0%90%D0%B2%D1%82%D0%BE%D1%87%D0%B0%D1%81%D1%82%D0%B8+%D0%97%D0%B0+Hyundai [1]Orig: http://www.example.bg/listing/935/Радиатор%20Парно [2]Decoded: http://www.example.bg/listing/935/Радиатор Парно [3]Encoded: http://www.example.bg/listing/935/%D0%A0%D0%B0%D0%B4%D0%B8%D0%B0%D1%82%D0%BE%D1%80+%D0%9F%D0%B0%D1%80%D0%BD%D0%BE [1]Orig: http://www.example.bg/listing/891/Шарнир%20Долен [2]Decoded: http://www.example.bg/listing/891/Шарнир Долен [3]Encoded: http://www.example.bg/listing/891/%D0%A8%D0%B0%D1%80%D0%BD%D0%B8%D1%80+%D0%94%D0%BE%D0%BB%D0%B5%D0%BD [1]Orig: http://www.example.bg/listing/854/Глава [2]Decoded: http://www.example.bg/listing/854/Глава [3]Encoded: http://www.example.bg/listing/854/%D0%93%D0%BB%D0%B0%D0%B2%D0%B0