строка формата php для удаления 1-го элемента - PullRequest
0 голосов
/ 29 мая 2018

Как удалить 1-е значение из приведенной ниже строки, я хочу удалить только значение «Тип»

Тип сообщения ..: Тип

Тип сообщения ..: Статьи

Тип сообщения ..: Артисты и создатели

Тип сообщения ..: Видео

Тип сообщения ..: В прессе

Тип сообщения ..: Знаете ли вы?

Тип сообщения ..: Глоссарий A - Z

Тип сообщения ..: События

Тип сообщения ..: Последние каталоги

Я попытался преобразовать вышеупомянутое в массив и попытался удалить 1-ую запись, которую я попробовал как ниже.] Или это может быть сделано без преобразования их в массив.

foreach($posttype as $post){
if(getCapitalLetters($post)){
    $array = preg_split("/(\r\n|\n|\r)/", $post);   //converting them to array
    echo '<pre>';echo 'Post type..:';
    echo str_replace(array('\'', '"'), '', substr($post,0,-2));

    }
}



function getCapitalLetters($str)
{
  if(preg_match_all('#([A-Z]+)#',$str,$matches))
  {
    //echo 'Matches';print_r($matches);
    return implode('',$matches[1]);
  }
  else
    return false;
}

1 Ответ

0 голосов
/ 30 мая 2018

Хорошо, из вашего последнего комментария я придумал следующее:

<code>$posttype = 'Post type..:Type

Post type..:Articles

Post type..:Artists & Makers

Post type..:Videos

Post type..:In The Press

Post type..:Did You Know ?

Post type..:Glossary A - Z

Post type..:Events

Post type..:Recent Catalogs';

$posttypearray = preg_split('/(\r\n|\n|\r)/',$posttype,-1, PREG_SPLIT_NO_EMPTY);

echo "<pre>";
print_r($posttypearray);
echo "
"; $ cleanposttypearray = preg_replace ('/.*\.\.:(.*)$/','$ 1', $posttypearray); echo "
";
print_r($cleanposttypearray);
echo "
";

Вывод этого кода:

Array
(
    [0] => Post type..:Type
    [1] => Post type..:Articles
    [2] => Post type..:Artists & Makers
    [3] => Post type..:Videos
    [4] => Post type..:In The Press
    [5] => Post type..:Did You Know ?
    [6] => Post type..:Glossary A - Z
    [7] => Post type..:Events
    [8] => Post type..:Recent Catalogs
)
Array
(
    [0] => Type
    [1] => Articles
    [2] => Artists & Makers
    [3] => Videos
    [4] => In The Press
    [5] => Did You Know ?
    [6] => Glossary A - Z
    [7] => Events
    [8] => Recent Catalogs
)

Что означает:

  • use preg_split с опцией PREG_SPLIT_NO_EMPTY . Это обрезает строку в массиве и автоматически сбрасывает пустые значения массива (т.е. пустые строки в $posttype).
  • , затем используется preg_replace для сохранениятолько то, что следует ..:. preg_replace, применит замену, которую вы хотите, к каждому элементу массива. Не нужно зацикливаться.

Так я преобразовал ваш вход в массивкаждого типа.

...