preg_replace删除特殊字符串中的内容

时间:2013-08-26 14:59:27

标签: php preg-replace

您好我尝试删除字符串中的内容。但我不知道如何做到这一点。

我的字符串:@trash='test1',value1='test2',@trash='test3',value2='test4'

我想删除@trash的所有内容,例如= @trash='test1',。 也许重要的是,当然“test1”上面例子中的值总是在变化。

3 个答案:

答案 0 :(得分:3)

尝试以下代码

echo preg_replace("/@trash='(.*?)',/", "", $string);

输出

value1='test2',value2='test4'

答案 1 :(得分:0)

preg_replace("#@trash='[\w.]+',#","",$string);

应该可以正常工作

答案 2 :(得分:0)

您不需要preg_replace来执行此操作:

$array = explode (',', $my_string);
$new_array = array ();
foreach ($array as $element)
{
    if (strpos ($element, '@') !== false) // OR if ($element[0] !== '@'), it depends the format of your string
        $new_array[] = $element;
}
$new_string = implode (',', $new_array);

preg_replace(使用REG EXP的任何东西)都很长,尽可能避免使用它。