preg_replace_callback('%<span>((?:[^<]|<(?!/?span>)|(?R))+)</span>%', 'CleanSpanRecursive', $content)


DEBUT : 
<p><span style="font-family: Trebuchet MS,sans-serif;">
	<span style="font-size: x-small;">
		<span style="color: #000000;">
			<span style="font-family: Times New Roman,serif;">
				<span style="font-size: small;">
					<span style="font-weight: normal;">
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				</span>
			</span>
		</span>
	</span>
</span></p>
<p><span style="font-weight: normal;">
	Blah
	<span style="text-decoration: underline;">
		blah
	</span>
	blah
</span>
<span style="font-weight: x-small;">
	Blah
	<span style="color: #000000;">
		blah
	</span>
	blah
</span></p>

CleanHtml => 
<p><span>
	<span>
		<span style="color: #000000;">
			<span>
				<span>
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				</span>
			</span>
		</span>
	</span>
</span></p>
<p><span>
	Blah
	<span style="text-decoration: underline;">
		blah
	</span>
	blah
</span>
<span>
	Blah
	<span style="color: #000000;">
		blah
	</span>
	blah
</span></p>

CleanSpanRecursive(0) => is_array = 0 
<p><span>
	<span>
		<span style="color: #000000;">
			<span>
				<span>
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				</span>
			</span>
		</span>
	</span>
</span></p>
<p><span>
	Blah
	<span style="text-decoration: underline;">
		blah
	</span>
	blah
</span>
<span>
	Blah
	<span style="color: #000000;">
		blah
	</span>
	blah
</span></p>

CleanSpanRecursive(1) => is_array = 1 
	<span>
		<span style="color: #000000;">
			<span>
				<span>
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				</span>
			</span>
		

CleanSpanRecursive(2) => is_array = 1 
		<span style="color: #000000;">
			<span>
				<span>
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				</span>
			

CleanSpanRecursive(3) => is_array = 1 
				<span>
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					</span>
				

CleanSpanRecursive(4) => is_array = 1 
					<span>
						Blah
						<span style="text-decoration: underline;">
							blah
						</span>
						blah
					

CleanSpanRecursive(5) => is_array = 1 
						Blah
						<span style="text-decoration: underline;">
							blah
						

CleanSpanRecursive(6) => is_array = 1 
	Blah
	<span style="text-decoration: underline;">
		blah
	

CleanSpanRecursive(7) => is_array = 1 
	Blah
	<span style="color: #000000;">
		blah
	



FIN : 
<p>
	
		<span style="color: #000000;">
			
				
					
						Blah
						<span style="text-decoration: underline;">
							blah
						
						blah
					
				
			
		
	</span>
</span></p>
<p>
	Blah
	<span style="text-decoration: underline;">
		blah
	
	blah
</span>

	Blah
	<span style="color: #000000;">
		blah
	
	blah
</span></p>