|
|
|
| Есть строка
private[MRE] private[User] Текст
Количество private может быть любым, но они должны все идти перед тестом сообщения, то есть если private[MRE] текст private[User] , то выхватывается только первый private
Помогите написать регулярку, чтобы выцепить все значения в квадратных скобках после private. | |
|
|
|
|
|
|
|
для: MRE
(01.07.2007 в 12:47)
| | То есть?
private[MRE] текст private[User] - отсюда нужно вытащить "MRE" ?
private[MRE] private[User] Текст - а отсюда "MRE" и "User" ? | |
|
|
|
|
|
|
|
для: kasmanaft
(01.07.2007 в 13:41)
| | угу, соответственно должно быть актуально и для более чем 2 private, в общем как только после очередного private[ ] встречается выражение отличенное от private[ ] дальше не ищем. | |
|
|
|
|
|
|
|
для: MRE
(01.07.2007 в 14:54)
| | Одним рег. выражением, наверное, не обойтись...
<?php
// строка всегда начинается с private? (если он есть)
$text = "private[MRE] private[User] Текст private[User2]";
if (preg_match_all("#^(private\[[^\]]+\]\s*)+#", $text, $regs))
preg_match_all("#private\[([^\]]+)\]#", $regs[0][0], $regs);
print_r($regs[1]);
?>
|
А нельзя сделать private[MRE,User] ?
Так было бы удобнее... | |
|
|
|
|
|
|
|
для: kasmanaft
(01.07.2007 в 20:02)
| | Спасибо, да наверное удобнее, но уже сделал первым способом.
Но неудобно добавлять при клике по нику будет, хотя и это можно сделать - везде свои сложности ;) | |
|
|
|