2013-06-27 1 views
0

У меня есть php-скрипт, который обрабатывает URL-адрес, отправленный ему через ajax из js-файла. Это либо uri данных, либо URL-адрес изображения. Что было бы лучшим способом отличить, является ли строка, представляющая собой uri данных или URL-адрес изображения, из сценария php. Я думал использовать регулярное выражение для проверки данных uri. Но я, похоже, не имею правильного регулярного выражения, которое может обрабатывать данные uri.Как отличить данные uri от URL-адреса изображения?

ответ

2

Ну ... если он начинается с data:, то это URL-адрес данных. Итак ... if(substr($url,0,5) == "data:") должен это сделать.

Запомнить: KISS.

+0

Я не думаю, что это то, что он имел в виду. Предположительно, 'http: // something.com/foo.html' является данными,' http: // www.somewhereelse.net/bar.jpg' является изображением. – Barmar

+0

Ну, конечно, это должно быть сделано, пока. Интересно, почему я думал обо всем остальном, кроме простого субстрата. – Enihr

+0

@ user2148105 Происходит к лучшему из нас! Я не могу сказать, сколько раз я поцарапал голову, почему какой-то код не работал, только чтобы найти, что я написал '$ btns' вместо' $ btn'! –

0

Проверьте расширение URL.

Regex:\.[^\.]*$

+0

Я думаю, что проверка типа mime из заголовка лучше, чем просто проверка расширения. – Enihr

+0

@ user2148105 yup, вы правы. Пробовал в javascript, выглядит чисто. Спасибо за это. – Praveen