Поиск текста между “(” и “)” в строке PHP

118
25 июня 2021, 03:20

Мне необходимо в PHP, при помощи регулярки вытащить из строки все элементы текста, заключённые в скобки, для их дальнейшей обработки, пример строки: (Ширина)*(Длина)+(Пользовательская константа) Это мне нужно, чтобы в итоге заменить их на имена переменных в Js и получить строку вида: Width*Height+User_constant Данные для перевода - укажу в массиве, но не знаю как сделать саму замену. Если можете, то помогите хоть с регуляркой(поиск этого самого текста между скобками) и выведением результата в массив

Answer 1

вытащить из строки все элементы текста, заключённые в скобки

Дак preg_match_all() используйте:

$str = '(Ширина)*(Длина)+(Пользовательская константа)';
$pattern = '~\(\K.+?(?=\))~';
preg_match_all($pattern, $str, $arr);
var_dump($arr);

Результат:

array (size=1)
  0 => 
    array (size=3)
      0 => string 'Ширина' (length=12)
      1 => string 'Длина' (length=10)
      2 => string 'Пользовательская константа' (length=51)
Answer 2

Я решил в данном случае использовать разделитель "|", т.к. скобки могут использоваться многоуровненно вроде ((x)+(y))/(z), теперь я отредактировал регулярное выражение ~\(\K.+?(?=\))~
и привел его к виду: ~\|\K.+?(?=\|)~ Теперь при запросе: |Ширина двери|/|Цена бревна ев|-|Длина двери| Я получаю:

[0]=> array(5){
[0]=> string(23) "Ширина двери" 
[1]=> string(1) "/" 
[2]=> string(26) "Цена бревна ев" 
[3]=> string(1) "-" 
[4]=> string(21) "Длина двери" } 
}```
READ ALSO
RedBean PHP Перемещение записи

RedBean PHP Перемещение записи

Пытаюсь переместить запись с одной таблицы в другую с удалениемСначала нахожу ее $info= R::findOne("books", "book_id= ?", array($_POST['id'])); Потом пытаюсь вставить...

119
Задача по рекурсии

Задача по рекурсии

Всем приветИзучаю PHP Столкнулся с интересной задачей, не могу решить ((

96
Вывод из mysql по блочно

Вывод из mysql по блочно

Необходимо вывести с mysql статьи так, чтобы они чередовались по блокамЧтобы через каждые 2 статьи - следующие 2 оборачивались блоком <div class="row"></div>

108
По каким запросам приходят на сайт. PHP

По каким запросам приходят на сайт. PHP

Необходимо с помощью PHP узнать по какому запросу из поисковика (яндекс/гугл) пришел посетитель на сайт

113