# ДоХтор (10.06.2017 / 19:36)
Зачем подмаски?
Всегда с ними писал.
Хотя по сути они для другого придуманы. И в данном случае вообще не нужны...
# ValekS (10.06.2017 / 19:38)
Всегда с ними писал.
Тут они не нужны. Подмаски нужны, если нужно получить часть искомого шаблона. Например найти текст с собакой
@vanechka, а в результат включить подстроку без собаки:
$text = 'Текст от @vanechka.';
$patt = '~@([^\s.,!?-]+)~iu';
$repl = '$1';
$text = preg_replace($patt, $repl, $text);
echo $text;
# Udesign (10.06.2017 / 19:36)
ДоХтор, вот написал функцию что неправильно сделал
function udtest($skob) {
if(preg_match('~\(.*\)\(.*\)~', $skob)) {
$skobs="YES";
return $skobs;
}elseif(p
Так ты сперва определись,
как в тексте должны располагаться скобки? Например твой вариант вполне правильно возвращает YES, потому что есть открывающая и закрывающая скобки и текст внутри них
function udtest($skob) {
if (preg_match('~\(.*\)\(.*\)|\(.*\)~', $skob)) {
return 'YES';
} else{
return 'NO';
}
}
echo udtest('((asd)');
ДоХтор, меня надо проверят если скобка открыта и не закрыли надо выводит NO это правилный варианти (tekst), (tekst)(tekst), ((tekst)) и ()tekst
# Udesign (10.06.2017 / 19:51)
ДоХтор, меня надо проверят если скобка открыта и не закрыли надо выводит NO это правилный варианти (tekst), (tekst)(tekst), ((tekst)) и ()tekst
А, ну тогда можно просто пойти путём подсчёта скобок. Сейчас напишу пример.
Udesign, вроде бы то, что тебе было нужно:
$need = '(asdasd) ((asdasd)) ()asdasd';
echo countBrackets($need); // YES
function countBrackets($str) {
preg_match_all('~(?<open>\()|(?<clos>\))~', $str, $all);
$open = count(array_filter($all['open']));
$clos = count(array_filter($all['clos']));
return ($open == $clos ? 'YES' : 'NO');
}
ДоХтор, А ты чего все поудалял?

Задачу то не решил

А как быть такой строкой? ')текст() еще текст ('
Добавлено: 10.06.2017 / 23:31
# kantry (10.06.2017 / 23:29)
ДоХтор, А ты чего все поудалял?
Задачу то не решил
А как быть такой строкой? ')текст() еще текст (' 
Посты удалил, т.к. их тематика немного вышла за рамки темы.
Добавлено: 10.06.2017 / 23:33
kantry
А как быть такой строкой? ')текст() еще текст ('
Ну, мой вариант такую строку сочтёт за правильную, т.к. он просто сравнивает число парных/не парных скобок. Есть идеи?
ДоХтор, Дак нужен топикстартер, чего ему то конкретно нельзя пропускать