Intereting Posts
PHPMailer: ошибка SMTP: не удалось подключиться к SMTP-хосту preg_replace выражение тегов стиля Могу ли я использовать zend translate, date и cache как автономный класс в моем проекте? Как получить имена и аббревиатуры часового пояса в PHP? Как округлить временную отметку unix вверх и вниз до ближайшего полчаса? Почему я получаю эту ошибку вызова функции для не-объекта, когда я вызываю функцию на объекте? Как перенаправить или показать страницу, а не «Запрещено», когда у меня отключены списки каталогов (htaccess / unix) Счетчик просмотров страниц с помощью PHP и MySQL? Вставить страницу в html-дизайн Лучший способ избежать дублирования ввода в базу данных mysql Доктрина всегда возвращает нулевые значения в производстве Создать выпадающий список из значения в базе данных php Как расширить классы среды Yii и место для размещения файлов Отменить выполнение сценария php, когда jquery ajax прерван Как проверить, действителен ли токен доступа, используя только REST API Google Диска?

Я пытаюсь вычеркнуть что-либо до '=', а также конкретные слова

У меня есть массив, который мне нужно пройти. Вытащите все до «=», включая «=», а также определенные слова. Затем разделите оставшееся содержимое массива на ','.
Вот содержимое массива: $ rows ['role']

$rows['role'][0] = cn=Service Desk Customer,ou=Groups,dc=,dc=co,dc=uk $rows['role'][1] = cn=User,ou=Groups,dc=,dc=co,dc=uk $rows['role'][2] = cn=Site Administrator,ou=Groups,ou=Kiev,ou=Ukraine,ou=Euro-Med,dc=,dc=co,dc=uk $rows['role'][3] = cn=Agent Biometric,ou=Groups,ou=Tirana,ou=Albania,ou=Euro-Med,dc=,dc=co,dc=uk $rows['role'][4] = cn=Agent Welcome,ou=Groups,ou=Tripoli,ou=Libya,ou=Euro-Med,dc=,dc=co,dc=uk 

После этого мне нужно отсортировать результаты в двух массивах, один для роли, включая Service Desk Customer, Site Administrator и т. Д., И один для местоположения, которое будет включать Триполи, Ливию, Албанию.

Я хотел бы получить строку или массив $ role, содержащий только такие элементы, как Service Desk Customer, Site Administrator и т. Д. а затем строку $ location или массив, содержащий всю информацию о местоположении.

Вот что я до сих пор. Я могу удалить все, что я хочу удалить до сих пор. Единственная проблема, с которой я столкнулся, – это вытащить элементы, начиная с cn = до переменной $ role (желательно с cn = удален) и ou = до переменной $ loc.

 $removes = array( 'dc=','ou=Groups','cn=User','dc=co','dc=uk'); $rows[$i] = array( 'picture' => $jpeg, 'first' => $info[$i]["givenname"][0], 'last' => $info[$i]["sn"][0], 'mail' => $info[$i]["mail"][0], //'role' => $info[$i]["memberof"][0], ); foreach($info[$i]['memberof'] as $key => $value){ $replace = str_replace($removes,'',$value); $rows[$i]['role'][$key] = $replace; } array_filter($rows[$i]['role']); print_r ($rows[$i]['role']); } ldap_close($ds) 

Related of "Я пытаюсь вычеркнуть что-либо до '=', а также конкретные слова"

Вы можете попробовать следующее:

 $result = array_map(function ($val) { return substr($val,3, strpos($val, ',') - 3 ); }, $rows['role']); print_r($result); 

Вы можете использовать:

 foreach ($rows['role'] as $r) { print_r ( explode(',', preg_replace('/(^|,)\K[^=]*=/', '', $r)) ); } 

Для первых двух строк он дает следующий результат:

 Array ( [0] => Service Desk Customer [1] => Groups [2] => domain [3] => co [4] => uk ) Array ( [0] => User [1] => Groups [2] => domain [3] => co [4] => uk )