bash — что эквивалентно «grep» команда в php?

Пожалуйста, потерпите меня, так как я все еще новичок в PHP. Итак, у меня есть config файл как это:

profile 'axisssh2'
server '110.251.223.161'
source_update 'http://myweb.com:81/profile'
file_config 'udp.group-1194-exp11nov.ovpn'
use_config 'yes'
ssh_account 'sgdo.ssh'

Я хочу создать переменную PHP с именем $currentprofile со значением axisssh2, значение постоянно меняется. С grep в Баш я могу просто сделать

currentprofile=$(cat config | grep ^profile | awk -F "'" '{print $2}')

Но я понятия не имею, как это сделать с помощью PHP. Пожалуйста, помогите мне, как это сделать, спасибо.

ОБНОВИТЬ:
Так я попробовал preg_match как это, но это показывает только значение 1

$config=file_get_contents('/root/config');
$currentprofile=preg_match('/^profile /', $config);
echo "Current Profile: ".$currentprofile;

Пожалуйста, скажите мне, что не так.

1

Решение

Я собираюсь ответить на вопрос, который ты не задал. Вы бы лучше использовать parse_ini_string () или же fgetcsv ():

$array = parse_ini_string(str_replace(' ', '=', file_get_contents($file)));
print_r($array);

Урожайность:

Array
(
[profile] => axisssh2
[server] => 110.251.223.161
[source_update] => http://myweb.com:81/profile
[file_config] => udp.group-1194-exp11nov.ovpn
[use_config] => yes
[ssh_account] => sgdo.ssh
)

Так просто:

echo $array['profile'];

Но ответ на ваш вопрос будет:

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]