|
|
|
| Привет! Вот есть текст
текст какой-то
[text]
любой текст неопределенной длины
[/text]
тоже текст
|
Помогите составить регулярное выражение, позволяющее выбрать текст, который находится между [text] и [/text] | |
|
|
|
|
|
|
|
для: t4f
(14.02.2007 в 12:20)
| | Можно воспользоваться следующим решением
<?php
$text = 'текст какой-то
[text]
любой текст неопределенной длины
[/text]
тоже текст';
$pattern = "|\[text\](.*?)\[/text\]|is";
preg_match($pattern, $text, $out);
echo $out[1];
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.02.2007 в 12:31)
| | Спасибо.
Еще вопрос - можно ли сделать такой же выбор необходимого текста без пременения регулярных выражений? | |
|
|
|
|
|
|
|
для: cheops
(14.02.2007 в 12:31)
| | Это решение будет некорректно работать в случае вложенных тегов. | |
|
|
|
|
|
|
|
для: Loki
(14.02.2007 в 12:41)
| | А какое будет корректно работать? | |
|
|
|
|
|
|
|
для: t4f
(14.02.2007 в 12:47)
| | \[text\]((?!\[text\]).)*?\[\/text\] | |
|
|
|
|
|
|
|
для: Loki
(14.02.2007 в 13:00)
| | Спасибо! | |
|
|
|