Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » регулярные выражения

Ответить
Настройки темы
регулярные выражения

Аватара для Ginger

Рыжая


Сообщения: 1550
Благодарности: 19

Профиль | Сайт | Отправить PM | Цитировать


Помогите, пожалуйста, составить рег. выражение:
Вот пример кода, который не работает:
Код: Выделить весь код
$text = "some text with image <img src=”../user_img/093470394746/image.gif”> goes here for testing purposes";
preg_match('/user_img\/ ? ([0-9]{12})\/ ',$text,$result);

foreach( $result as $v)
echo "res - ".$v;
суть заключается в том, что нужно в данном тексте найти название директории, состоящие исключительно из цифр, и которое _всегда_ находиться после «user_img/».
Вернуть его в переменную.
Количество цифр всегда 12. Читать нужно либо 12 цифр подряд, либо до forward slash «/».

-------
ХР, 2000, NT - BSOD (синие экраны смерти) русский перевод


Отправлено: 17:51, 21-12-2004

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

preg_match("/user_img\/(\d{12})/",$text,$result); 


У меня вот так вышло
сама цифра будет в $result[1]

Отправлено: 20:51, 21-12-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Ginger

Рыжая


Сообщения: 1550
Благодарности: 19

Профиль | Сайт | Отправить PM | Цитировать


vadimiron, spasibo za reshienie

est eshio vopros po vyrazheniem
(sorry za translit, no formy u menia opiat net...)

$searches = array("[\']", "'class=[^\s|>]'si");
$replaces = array("`" , "");

vopros kasaetsia reguliarnogo vyrazhenija - 'class=[^\s|>]'si

delo v tom chto ja xochu udaliat iz html koda vse class'y (i style tozhe, no eto potom po primeru mozhno sdelat)

pri etom ja xochu chto by probel pered class= udalialsia, a posle ego ostavalsia esli est
<p class="amega" align=right>

kod kotoryj napisala ja udaliaet slovo class= esli imia klassa ukazano v kavychkax - class="amega", ostajotsia "amega"
i udaliaet class= i pervuju bukvu posle, esli class bez kovychek -
class=amega, ostajotsia mega

ja xochu chtob skript iskal slovo class= i udalial ego vmeste s tom chto idiot posle = do probela ILI zakryvajushego >
(ved mozhet byt <p class=bla> )

podskazhite gde eto popravit?
ja uzhe chto tolko ne isprobovala.. to on uimenia ves tekst udaliat, to nichego, to tolko 'class=' ...

-------
ХР, 2000, NT - BSOD (синие экраны смерти) русский перевод


Последний раз редактировалось Ginger, 19-01-2005 в 18:19.


Отправлено: 17:56, 19-01-2005 | #3


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
/\sclass=['\"]\w{0,50}['\"]/
вот такой паттерн у меня получился, надеюсь будет работать
он работает как с ", так и с ', а также с их комбинацией

-------
Fortes fortuna adiuvat


Отправлено: 01:10, 22-01-2005 | #4


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Исправление: если там вообще нет кавычек, то есть типа class=lolka, то код не будет работать, так что вот пример для любого случая, то есть независимо от того, есть ли кавычки:

PHP код: Выделить весь код

preg_match("/\sclass=((['\"]\w{0,50}['\"])|(\w{0,50}))/",$text,$result); 


тогда весь найденный паттерн будет в $result[0];

Отправлено: 14:13, 22-01-2005 | #5


Аватара для Ginger

Рыжая


Сообщения: 1550
Благодарности: 19

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
спасибо, что снова помогаешь ))

проверила твой код - он удаляет не толко класс, но и от < до > ))
такое можно намного короче написать ))
мне нужно чтоб хтмл таги оставались не тронутыми

-------
ХР, 2000, NT - BSOD (синие экраны смерти) русский перевод


Отправлено: 14:51, 25-01-2005 | #6


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


странно, у меня всё получалось, тогда ещё подумаю

-------
Fortes fortuna adiuvat


Отправлено: 20:31, 25-01-2005 | #7


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Ginger
Может ты удаляешь как то не так
Вот мой пример, который работает у меня на компе:
PHP код: Выделить весь код

$text "some text with image <p class='lolki' left='go'> goes here for testing purposes<br>

             some text with image <h1 width=25 class=\"prot\"> goes here for testing purposes"
;

$text=preg_replace("/\sclass=((['\"]\w{0,50}['\"])|(\w{0,50}))/","",$text);

echo 
$text

Вывод:
HTML код: Выделить весь код
some text with image <p left='go'> goes here for testing purposes<br> some text with image <h1 width=25> goes here for testing purposes

Вроде так же надо было??

-------
Fortes fortuna adiuvat


Отправлено: 23:46, 25-01-2005 | #8


Аватара для Ginger

Рыжая


Сообщения: 1550
Благодарности: 19

Профиль | Сайт | Отправить PM | Цитировать


vadimiron

вот так делаю.

Код: Выделить весь код
$searches = array("[\']","/\sclass=((['\"]\w{0,50}['\"])|(\w{0,50}))/");
$replaces = array("`", "");
$text = preg_replace($searches,$replaces,$text);
в тексте:
<p class="lala">klmn oprst</p>

остаётся:
klmn oprst</p>

-------
ХР, 2000, NT - BSOD (синие экраны смерти) русский перевод


Отправлено: 16:32, 27-01-2005 | #9


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать



Так почему ты не так сделаешь, как я это делаю

-------
Fortes fortuna adiuvat


Отправлено: 16:35, 27-01-2005 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » регулярные выражения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Java - Регулярные выражения Java ValVlaGen Программирование и базы данных 0 19-10-2009 08:06
Прочее - grep регулярные выражения dogidogi Общий по Linux 8 28-05-2009 22:54
Разное - PHP - регулярные выражения: HELP GoldenOrb Программирование и базы данных 10 08-09-2008 16:47
PHP - регулярные выражения: HELP GoldenOrb Вебмастеру 13 18-07-2008 16:05
Регулярные выражения est Хочу все знать 6 02-10-2002 14:17




 
Переход