Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

Разобрать строку

Обсуждение темы Разобрать строку в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Имеется строка Код: [img]img/foobar.gif[/img] Надо получить значение alt, все остальное выкинуть. Подскажите, пожалуйста, а то я сейчас такого напрограммирую... :)...


Закрытая тема
 
Опции темы
Старый 21.04.2005, 12:29   #1
Имеется строка
Код:
[img]img/foobar.gif[/img]
Надо получить значение alt, все остальное выкинуть.

Подскажите, пожалуйста, а то я сейчас такого напрограммирую... :)
 
Старый 21.04.2005, 12:29
Ссылки
Старый 21.04.2005, 12:41   #2
Можно регулярным выражением, но мне лень выдумывать сейчас, поэтому посоветую более рутинно, но надежно:

$str=explode("alt=\"", $str);

//Получили массив, последним элементом которого является
//foo_text" hspace="6" vspace="0" align="middle"/>

$i=count($str);
$i--;
// Последний элемент скорее всего - 1, поэтому $i вычсчитывать не обязательно.

$alt=explode("\"", $str[$i]);

echo $alt[0];

// результат: foo_text.

Но это прокатывает, только если кавычки используются, хотя альты редко без кавычек пишут (ну если без кавычек, то второй explode по пробелу разбивать надо).
 
Старый 21.04.2005, 13:15   #3
KeTal, спасибо, но слишком замороченно.

Напряг мозги, написал регулярное выражение:
PHP код:
$string preg_replace ("/(<img.*? alt=\")(.*?)(\".*>)/","\\\2",$string); 
Alt там гарантированно в кавычках.

kost добавил [date]1114075104[/date]:
Перед двойкой, конечно, два слэша, форум что-то не отображает...
 
Старый 21.04.2005, 15:10   #4
Никогда не знал регулярных выражений и хотел поинтересоваться:

Как именно выдрать это значение из строки?

kost, какой элемент в твоём вырежении отвечает за выдирание? Круглые скобки? А что значит \\2?
 
Старый 21.04.2005, 15:34   #5
kost, говорят есть какая то знаменитая книга по регулярным выражениям ты случаем не знаешь можно её скачать ?
 
Старый 21.04.2005, 16:10   #6
Цитата:
Как именно выдрать это значение из строки?
kost, какой элемент в твоём вырежении отвечает за выдирание? Круглые скобки? А что значит \\2?
Выдрать -- имелось в виду заменить строку на значение alt. Или присвоить его другой переменной.

С помощью скобок мы получаем три значения, соответственно \\2 -- это второе.

Читайте документацию. Почитайте любую книжку по Perl.

vision, -- Google. Ключевые слова: "регулярные выражения", "regular expressions", "pcre".
 
Старый 21.04.2005, 20:16   #7
Как, например, реализовать такое: "this is a link", если строка: "this is a link"?
 
Старый 21.04.2005, 20:38   #8
kost, о, блин, а я не догнал из нее все, кроме значения alt убрать, сидел, как чайник с preg_match_all =))

egorix, я тоже недавно регулярные начал изучать, это крутая штука, скажу я вам.. иногда просто не заменимая!

kost, http://php.spb.ru/regular_expression.html , там есть очень хорошие ссылочки внизу (см. те, которые на сервер providerz.ru ведут).
 
Старый 25.04.2005, 03:46   #9
Может, некстати, но есть одна очень полезная софтинка - The Regex Coach (брать здесь).
К сожалению, лажается на кириллице, и все-таки очень полезная в работе с регэкспами вещь.
 
Старый 08.05.2005, 03:02   #10
Поищи ответы на вопросы на www.woweb.ru.
Жаль, что на www.web-silver.ru (мертвы) все разделы сайта .
 
Старый 08.05.2005, 03:02
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
var_dump в строку BleSSeD ASP, Perl, PHP и MySQL 11 13.05.2009 14:18
Профессионалы помогите разобрать сайт по косточкам dmitrol Технологии Flash 6 27.04.2009 13:55
Как удалить n-ную строку в файле? tend ASP, Perl, PHP и MySQL 9 21.07.2006 00:02
Две таблицы в одну строку Silent Rain HTML, CSS, JavaScript 10 30.12.2005 09:15
Как извлечь строку запроса без Query_string ? Lloyd HTML, CSS, JavaScript 5 03.02.2004 19:15


Текущее время: 05:17. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум