Получить всю строку после определенного значения в php - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужен желаемый вывод, будь то в preg_match или explode, который не является пробником .. Мне нужен вывод в данном формате массива.

Я пытаюсь отделить строку от этой переменной

INPUT

Привет FF_nm, Ваш город FF_city, а ваш пол - FF_gender.Название вебинара - FF_extraparam1. Снова ваше имя FF_nickname

OUTPUT

array => [псевдоним, город, пол, extraparam1, псевдоним]

Код

<?php
    $data = "Hi FF_nm,
Your city is  FF_city and your gender is FF_gender. webinar title is FF_extraparam1
Again your name is FF_nickname";

    if (($pos = strpos($data, "FIELDMERGE_")) !== FALSE) { 
        $whatIWant = substr($data, $pos+1); 
    }

    echo $whatIWant; 

    ?>

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

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

$arr = explode("FIELDMERGE_", $data);
array_shift($arr); // you don't need the first element
foreach($arr as $e) {
    $word = array_shift(explode(" ", $e)); //take the first word
    $res[] = preg_replace('/[^a-z\d]/i', '', $word); //remove the , / . / \n and so on...
}

Ссылка: сдвиг массива , взорвать , preg-заменить

Живой пример: https://3v4l.org/Oa1sn

0 голосов
/ 04 апреля 2019

Вы можете использовать preg_match_all с положительным шаблоном взгляда за спиной.

preg_match_all('/(?<=FF_)\w+/', $data, $fields);
$output = $fields[0];
...