|
|
|
| Всем добрый день, не знаю возможно ли это, но вроде как должно :)
/*
string_1
string_2
string_3
*/
Нужно, чтобы в итоге было:
[c]/*[/c]
[c]string_1[/c]
[c]string_2[/c]
[c]string_3[/c]
[c]*/[/c]
Так сделать могу:
[c]/*
string_1
string_2
string_3
*/[/c]
но хотелось бы, чтобы каждая строка обрабатывалась, возможно?
Есть вариант найти сначала подстроку типа:
/*
...
*/
А потом с ней проработать каждую строку, но я хотел бы узнать возможно ли это сделать в одном выражении и как это будет по производительности. | |
|
|
|
|
|
|
|
для: belkin
(13.04.2013 в 13:47)
| | Проще будет разбить весь текст на массив строк и обрабатывать их в цикле. | |
|
|
|
|
|
|
|
для: belkin
(13.04.2013 в 13:47)
| |
<?php
$d="
Всем добрый день, не знаю возможно ли это, но вроде как должно :)
/*
string_1
string_2
string_3
*/
Нужно, чтобы в итоге было:
";
$nd=preg_replace("/(?<=\/\*\s|string_\d\s)(string_\d)(?=\sstring_\d|\s\*\/)/s","[c]$1[/c]",$d);
echo $nd;
?>
|
| |
|
|
|
|
|
|
|
для: Deed
(14.04.2013 в 12:10)
| | Это не годится. | |
|
|
|
|
59.9 Кб |
|
|
для: confirm
(14.04.2013 в 14:50)
| | Та да.
Я на этом проверял. | |
|
|
|
|
|
|
|
для: Deed
(14.04.2013 в 17:04)
| | Я о том, что никто не говорил, что каждая строка это string_
К тому же не известно, что это за строки, если отдельные (вне контекста), то Саня уже сказал как - не нужно рег. выражений. Собственно и в контексте, лучше найти, разбить и склеить. | |
|
|
|
|
|
|
|
для: confirm
(14.04.2013 в 18:04)
| | Просто было интересно, возможно ли только с помощью регулярок сделать.
В контексте так:
str_1
str_2
str_3
/*
str_4
str_5
str_6
*/
str_7
str_8
str_9
и т.д.
Все-равно всем спасибо за ответы! | |
|
|
|
|
|
|
|
для: Belkin
(14.04.2013 в 19:06)
| | Для таких строк, это нужно делать без всяких регулярок. | |
|
|
|
|
|
|
|
для: confirm
(14.04.2013 в 19:20)
| | Почему? | |
|
|
|
|
|
|
|
для: Belkin
(15.04.2013 в 06:43)
| | Потому, что там где можно обойтись без регулярных выражений, о них (рег. выражениях) нужно забывать. | |
|
|
|