Помогите составить регулярное выражение

DimbIch

Новичок
dimases
согласно спецификации все свойства тегов должны писать с маленькой буквы а их значения заключаются в кавычки!

поэтому style=что-то фактически является не правильным

в дальнейшем лучше такое не использовать
 

sakon

П..и.н..ок
vladax
:) Ожидаемо...
Правда становится все несколько сложнее...
PHP:
<?php

$text = '<tr><td style="background-image:url(\'../какая/досада.jpg\');">la la al la </td></tr>';
$styl='style=';
$space = ' ';
$gt = '>';
@$pos_styl = strpos($text,$styl);
if ($pos_styl !== false)
{
$pos_space = strpos($text,$space,$pos_styl);
$pos_gt = strpos($text,$gt,$pos_styl);

	if ($pos_space > $pos_gt)
	{
		$rep = substr($text,$pos_styl,($pos_gt-$pos_styl));
		$text = str_replace($rep,'',$text);
	}else{
        $rep = substr($text,$pos_styl,($pos_space-$pos_styl));
		$text = str_replace($rep,'',$text);
    }
}else{
echo "ненайдено";
}
echo htmlspecialchars($text);
?>
 

vladax

Новичок
sakon
скажи честно, ты издеваешься что-ли? :) нагородил куеву хучу кода, когда проблема выеденного яйца не стоит и решается одним простым регом.
 

sakon

П..и.н..ок
vladax
Возможно я не догоняю. Хотелось бы увидеть этот рег.
 

vladax

Новичок
sakon
сорри, два рега: один на случай с кавычками, а второй на шизофренический случай без кавычек.
 

sakon

П..и.н..ок
vladax
Вот и у меня получилось 1 рег и 1 str:
PHP:
<?php

$text = '<tr><td style="background-image:url(\"../какая/досада.jpg\");">la la al la </td></tr>';
$preg = '/(style.*?)(>|\s)/i';
preg_match($preg,$text,$dd);
$text = str_replace($dd[1],'',$text);
echo htmlspecialchars($text);
?>
А вариант наверху - это "клиника".. :)
 

sakon

П..и.н..ок
Этот... как его .... шпиён...в чужом топике... :)
Сорри за флейм.

-~{}~ 06.04.05 21:20:

Надеюсь он ответ на свой вопрос получил...
 

dimases

Новичок
Автор оригинала: sakon
Этот... как его .... шпиён...в чужом топике... :)
Сорри за флейм.
Надеюсь он ответ на свой вопрос получил...
угу, он самый =)

спасибо за комментарии
 

vladax

Новичок
dimases
За что спасибо то? Проблема же не решена :)

sakon
Ты лепишь все в кучу. Убрать разом нормальные стайлы с кавычками и шизофренические без кавычек у тебя не получится. Или ты думаешь, что в заковыченных стайлах не может быть пробелов? :)
Сначала нужно убрать одни, а потом другие.

$text = preg_replace('/style=(\'|").+?\1/i', '', $text);
$text = preg_replace('/style=.+?(>|\s)/i', '\1', $text);
echo htmlspecialchars($text);
 

sakon

П..и.н..ок
vladax
:) ;)
style="background-image:url(\'../какая/досада.jpg\');"

ТОчнее засада :)

-~{}~ 07.04.05 11:32:

В приципе на ВСЮ шизу заложится вряд ли удастся...
 

L-ZiX

Guest
Снова обращаюсь к Вам, господа профессионалы.
Не умею я регулярные выражения составлять. Увы. Стыдно.

Прошу, помогите составить рег для удаления таблицы из текста. От тега <TABLE и до </TABLE>. Заранее очень благодарен.
 

SiMM

Новичок
> Не умею я регулярные выражения составлять
Учись. Иначе так и будешь попрошайничать. При чём для описанного тобой случая регулярники вовсе не нужны.
 
Сверху