$re = '`(?s)<(category) name="Content Server Categories:(.+?)">(.+?)</(category)>`m';
$str = '<category name="Content Server Categories:FOLDER:test category">
<attribute name="test attribuut"><![CDATA[test]]></attribute>
<attribute name="test attribuut1"><![CDATA[test1]]></attribute>
</category>
<category name="Content Server Categories:FOLDER1:FOLDER2:test category">
<attribute name="test attribuut"><![CDATA[test]]></attribute>
<attribute name="test attribuut1"><![CDATA[test1]]></attribute>
</category>
<category name="Content Server Categories:FOLDER NAME:test category">
<attribute name="test attribuut"><![CDATA[test]]></attribute>
<attribute name="test attribuut1"><![CDATA[test1]]></attribute>
</category>
<category name="Content Server Categories:FOLDER NAME: FOLDER NAME1:test category">
<attribute name="test attribuut"><![CDATA[test]]></attribute>
<attribute name="test attribuut1"><![CDATA[test1]]></attribute>
</category>
<category name="Content Server Categories:FOLDER:test category name">
<attribute name="test attribuut"><![CDATA[test]]></attribute>
<attribute name="test attribuut1"><![CDATA[test1]]></attribute>
</category>';
$subst = "<$1-$2 name=\"Content Server Categories:$2\">$3</$1-$2>";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php