|
|
|
| Друзья, всем привет, пожалуйста, помогите составить регулярку.
Имею строки такого вида:
10:14(12:45)
22:28(01:53,18:16)(15:40)
с таким условием: если в строке одна пара скобок (как в первой), то результат это весь текст до открывающейся скобки и весь текст в скобках (кол-во символом может меняться), например: для первой строки - это "10:14" и "12:45"
если в строке две пары скобок, то результат - это текст в первых скобках и текст во вторых скобках, например как во второй строке: "01:53,18:16" и "15:40" | |
|
|
|
|
|
|
|
для: serggo1
(16.10.2016 в 10:59)
| |
$str = '10:14(12:25)
22:28(01:53,18:16)(15:40)
10:14(12:15)
10:25(12:35)
21:28(11:53,13:16)(11:40)';
preg_match_all("/[^\(\)\s]+\([^\(\)]+\)[^\(]|[^\(\)\s]+\(.+\)/", $str, $subst);
foreach($subst[0] as $k=>$v)
{
if(preg_match("/\)\(/", $v))
{
$v = preg_replace("/\)\(/", " и ", $v);
$v = preg_replace("/^[^\(\)]+\(|\).*$/", "", $v);
}
else
{
$v = preg_replace("/\(/", " и ", $v);
$v = preg_replace("/\).*$/", "", $v);
}
echo $v."<br>";
}
|
итог:
10:14 и 12:25
01:53,18:16 и 15:40
10:14 и 12:15
10:25 и 12:35
11:53,13:16 и 11:40
|
| |
|
|
|
|
|
|
|
для: Fart
(16.10.2016 в 12:25)
| | Я Вам очень благодарен, большое спасибо. | |
|
|
|