|
|
|
| Есть <img src="http://servername.ru/way/to/img/00000123/1.jpg" width="12" height="12" alt="Альт">
как достать "00000123"? Число разное, но в нем всегда 8 разрядов. Путь к файлу произвольный.
Подскажите, пожалуйста. | |
|
|
|
|
|
|
|
для: Tema
(10.06.2006 в 15:25)
| |
<?php
$tag = '<img src="http://servername.ru/way/to/img/00000123/1.jpg" width="12" height="12" alt="Альт">';
$cat = preg_replace('%<img\s+src="(?:http://)?(?:[a-z0-9\-_]+.)+[a-z]{2,4}/(?:[a-z0-9\-_]/)*([0-9]{8})/(?:.+)"(?:.*)>%i', '\\1', $tag);
echo $cat;
?>
|
| |
|
|
|
|
|
|
|
для: WebTech
(10.06.2006 в 20:57)
| | Однако, если путь до 00000123 будет постоянный всегда, то можно без рег. выражений, что предпочтительней. | |
|
|
|
|
|
|
|
для: WebTech
(10.06.2006 в 21:15)
| | Отлично! Спасибо.
А если путь будет постоянным, то как без рег.выр? Или вы имеете ввиду для пути? | |
|
|
|
|
|
|
|
для: Tema
(11.06.2006 в 09:47)
| | Если вот эта часть <img src="http://server.name.ru/way/to/ будет всегда постоянной. | |
|
|
|
|
|
|
|
для: WebTech
(11.06.2006 в 18:43)
| | Я понял. И если он будет постоянным, то как мне вытащить нужное значение без рег.выражений? | |
|
|
|
|
|
|
|
для: Tema
(11.06.2006 в 19:19)
| | Тогда так.
Надо посчитать, сколько символов в фрагменте строки до 0000123 и затем подставить их в функцию
<?php
$tag = '<img src="http://servername.ru/way/to/img/00000123/1.jpg" width="12" height="12" alt="Альт">';
echo substr($tag, 42, 8); // в данном случае - 42 символа
?>
|
Я понимаю, что это очень жестко, но зато будет работать во много раз быстрее регулярного выражения :-) Регулярные выражения потребляют много вычислительных ресурсов, и за счет этого работают медленнее, чем обычные строковые функции.
Что выбрать - вам решать. Я бы выбрал все-таки рег. выражения :-) Этот путь http://servername.ru/way/to/img/ легко изменить и все равно все сработает. К тому же, это выражение легко приспособить, чтобы "выдирать" это восьмизначное значение из всех тегов img в тексте :-) | |
|
|
|
|
|
|
|
для: WebTech
(11.06.2006 в 20:45)
| | Понятно. Спасибо :-) | |
|
|
|