Есть такого типа теги
[main]
[row]1[/row][value][/value]
[row]2[/row][value][/value]
[row]3[/row][value][/value]
s
[/main]
Нужно достать символ s при помощи регулярок, кол-во строк([row][/row][value][/value]) может меняться, буква s может быть и пробелом.
Суть в том, что я с помощью js, хочу добавить в конец ([row]3[/row][value][/value]) этой строки добавить еще одну строку.
Пробую так
preg_match_all('/\[\/value\](.*)\[\/main\]/s', $text, $arr);
результат такой
[row]2[/row][value][/value] [row]3[/row][value][/value] s
А мне нужно найти только символ s
Спустя 1 час, 7 минут, 16 секунд (20.02.2012 - 21:39) Игорь_Vasinsky написал(а):
<?php
$var = '[main]
[row]1[/row][value][/value]
[row]2[/row][value][/value]
[row]3[/row][value][/value]
s
[/main]';
preg_match_all("#\[.*\](.+)\[/.*\]#ius", $var, $matches);
echo '<pre>' . print_r($matches, 1) . '</pre>';
?>
[1] => Array
(
[0] =>
s
)
)
Спустя 7 минут, 2 секунды (20.02.2012 - 21:46) Игорь_Vasinsky написал(а):
не уневерсален
Спустя 16 минут, 53 секунды (20.02.2012 - 22:03) nugle написал(а):
спасибо) буду пробовать)
Спустя 1 минута, 2 секунды (20.02.2012 - 22:04) Игорь_Vasinsky написал(а):
если после искомого текста будут ещё такие пары - паттерн не срабатывает
Спустя 3 минуты, 35 секунд (20.02.2012 - 22:08) nugle написал(а):
Игорь_Vasinsky
такого не будет, там собственно и самой буквы s не будет, мне просто нужно добавить туда будет строку через replace, все должно быть реализовано на js. поэтому буду пробовать)
остановился пока на таком варианте
такого не будет, там собственно и самой буквы s не будет, мне просто нужно добавить туда будет строку через replace, все должно быть реализовано на js. поэтому буду пробовать)
остановился пока на таком варианте
preg_match_all("/\[.*\](.+)\[\/main\]/s", $var, $matches);