Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регулярные выражения: вырезать содержимое атрибута value из input-тэга
 
 автор: mister_pipin   (12.03.2016 в 12:12)   письмо автору
 
 

Привет, помогите разобрать и понять как работают регулярные выражения на примере:
Имеется файл html
<input name="arr4_1" type="text" value="{value_arr4_1}" />
<input name="arr4_1" type="text" value="{value_arr4_2}" />
<input name="arr4_1" type="text" value="{value_arr4_3}" />

В параметре value мне нужно удалить подобные значения {value_arr4_1}

Заранее спасибо

  Ответить  
 
 автор: cheops   (12.03.2016 в 13:30)   письмо автору
 
   для: mister_pipin   (12.03.2016 в 12:12)
 

Можно поступить следующим образом
<?php
$text 
= <<<HTML
<input name="arr4_1" type="text" value="{value_arr4_1}" />
<input name="arr4_1" type="text" value="{value_arr4_2}" />
<input name="arr4_1" type="text" value="{value_arr4_3}" />
HTML;
$text preg_replace('/\{[^\}]+\}/'''$text);

Фигурные скобки являются спец.символом, поэтому их следует экранировать \{ или \}. Нам нужно удалить все, что между фигурными скобками, т.е. нам нужно поместить между \{ и \} выражение, которое бы не включало закрывающую фигурную скобку. Для этого можно воспользоваться квадратными скобками [], в которые мы помещаем отрицание фигурной скобки [^\}]. Т.е. мы разрешаем все символы, кроме закрывающей фигурной скобки. Квадратные скобки всегда обозначают ровно один символ, любой из диапазона внутри квадратных скобок, но один. Для того, чтобы нам обозначить ситуацию, когда таких символов между фигурными скобками много, нам нужно воспользоваться квантором + - один или несколько символов [^\}]+. Так получилось выражение выше.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования