Задать вопрос

JS регулярки — как получить имя файла без расширения из атрибута src и вырезать тег?

В общем есть к примеру
<img src="/sdfsf/sdcsdc/123.gif>"
Надо получить "123". Маялся маялся, не могу.
UPD:
запилил кое-как regexr.com/v1?38nfi но в js не срабатывает, осталось заставить работать ее в js
UPD2:
var re = new RegExp('(<img(.*src="[^"]*/(.*?)\.gif")>)', 'gim');

3я группа. Но теперь заменяет только 1 вхождение, все остальные удаляет.
  • Вопрос задан
  • 7983 просмотра
Подписаться 6 Оценить 1 комментарий
Решения вопроса 1
@r3l0c Автор вопроса
http://javascript.ru/forum/showthread.php?p=318259
На форуме подкинули идейку. Решено. Всем спасибо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
romanzhak
@romanzhak
Mathematician
"<img src='/sdfsf/sdcsdc/123.gif'>".match(/([\w,\s-]+)\.[A-Za-z]{3}/)[1]
// returns '123'
Ответ написан
re = "<img\ssrc=\"(.*)\/(.*)\.(gif|jpg|png)\">";
replace(re, "$2");
Ответ написан
@bogomazov_vadim
А я такой вариант придумал, но не знаю, будет ли это работать в боевых условиях:
var str = '/sdfsf/sdcsdc/yohoho.jpeg',
           value = str.slice(str.lastIndexOf("/") + 1, str.lastIndexOf("."));
Ответ написан
Комментировать
@Aios
Программист - Lite.
Соглашусь с красновым - однако - немного не то пальто
$re = "/<img\ssrc=\"([A-Za-z\/]+)\/(.*)\.(gif|jpg|png)\">/"; 
$str = "<img src=\"/blablabla/blablabla/index.png\">"; 
 
preg_match($re, $str, $matches);

5120586?AWSAccessKeyId=0R7FMW7AXRVCYMAPT
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы