Dado que tengo
 KsKd2s4dAs =AhAd2s4dKs =AsAd2s4dKs 5s5d6s6d2c AsAd6s6d2c =AdQdKdJdTd =AhQhKhJhTh =AsQsKsJsTsQuiero hacer coincidir todas las subcadenas que comienzan con '=' y concatenarlas con este signo.
La salida debe ser
 KsKd2s4dAs AhAd2s4dKs=AsAd2s4dKs 5s5d6s6d2c AsAd6s6d2c AdQdKdJdTd=AhQhKhJhTh=AsQsKsJsTs Puedo capturar usando esta expresión regular (=.{10}\s?)+ pero no puedo encontrar una manera conveniente de hacer tal cadena.
Puedes usar
 preg_replace('~(?:\G(?!\A)\s+(?==)|(?<!\S)=)(\S+)~', '$1', $text)Vea la demostración de expresiones regulares . Detalles :
(?:\G(?!\A)\s+(?==)|(?<!\S)=) - ya sea a = char al comienzo de la cadena o justo después de un espacio en blanco o al final de la coincidencia anterior y luego uno o más espacios en blanco seguidos de a = char(\S+) - Grupo 1: uno o más caracteres sin espacios en blanco. Otra forma es usar preg_replace_callback :
 $text = 'KsKd2s4dAs =AhAd2s4dKs =AsAd2s4dKs 5s5d6s6d2c AsAd6s6d2c =AdQdKdJdTd =AhQhKhJhTh =AsQsKsJsTs'; echo preg_replace_callback('~=(\S+(?:\s+=\S+)*)~', function($m) { return preg_replace('~\s+~', '', $m[1]); }, $text);Vea la demostración de PHP y la demostración de expresiones regulares .
 El =(\S+(?:\s+=\S+)*) coincide con un = y luego captura en el Grupo 1 uno o más espacios que no son espacios en blanco seguidos de cero o más repeticiones de uno o más espacios en blanco, = , y uno o más no espacios en blanco.