php str_replace где слово начинается с - PullRequest
1 голос
/ 10 июля 2011

скажем, у меня есть

$ переменная = 'Что-то и список = anotherthing';

как я могу удалить все, начиная с

& список =

Где "другое" не всегда одно и то же.

Ответы [ 3 ]

2 голосов
/ 10 июля 2011

strrpos и substr даст вам нужные результаты.

$pos = strrpos($var, '&list=');

echo substr($var, 0, $pos);

Возвращает:

something

И $ pos +6 (длина &list=)

echo substr($var, 0, $pos + 5);

Возвращает

something&list=
2 голосов
/ 10 июля 2011

Что вы действительно должны сделать, это:

parse_str($variable, $foo);
foreach($foo as $k=>$v) { 
  // do something with your somethings 
  if ($k == "list") { 
    unset($foo[$k]);
  }
}
// convert the $foo array back to a string 

надеюсь, это поможет

** позвольте мне добавить небольшой отказ от ответственности **

Этот ответ был предоставлен на основе строки, которую дал пользователь ... Он может не соответствовать цели для нормальной строки, которую невозможно правильно проанализировать с помощью parse_str

http://www.php.net/manual/en/function.parse-str.php

1 голос
/ 10 июля 2011

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

$variable = explode('&list','something&list=anotherthing');
$variable = $variable[0];
...