<?php

function extrairPedaco($texto, $inicio, $delimitador){
	$sub = substr($texto, strpos($texto, $inicio) + strlen($inicio), strlen($texto));
	return substr($sub, 1, strpos($sub, $delimitador));
}

$texto = "The blood A+ Tend to be cooperative, sensitive, clever, passionate and smart.";
$referencia = "blood";
$tipos = ['+', '-'];

foreach ($tipos as $tipo){
	$pedaco = extrairPedaco($texto, $referencia, $tipo);
	$pedaco = strtoupper($pedaco); // Converte para maiúsculo, eliminando a necessidade de usar a variável "result".
		switch($pedaco){
			case "A+": 
				echo "Ideal donor: A+<br>Other donors: A+ or O+<br>Only if no Rh(+) found: A- or O-"; 
				break;
			case "A-":  
				echo "Ideal donor: A-<br>Other donors: A- or O-"; 
				break;
            case "B+":  
            	echo "Ideal donor: B+<br>Other donors: B+ or O+<br>Only if no Rh(+) found: B- or O-"; 
            	break;
            case "B-":  
            	echo "Ideal donor: B-<br>Other donors: B- or O-"; 
            	break;
            case "AB+": 
            	echo "Ideal donor: AB+<br>Other donors: AB+ or A+ or B+ or O+<br>Only if no Rh(+) found: AB- or A- or B- or O-"; break;
            case "AB-": 
            	echo "Ideal donor: AB-<br>Other donors: AB- or A- or B- or O-"; 
            	break;
            case "O-":  
            	echo "Ideal donor: O-<br>Other donors: O-"; 
            	break;
            case "O+":  
            	echo "Ideal donor: O+<br>Other donors: O+<br>Only if no Rh(+) found: O-"; 
            	break;
			default:
			    // Faça algo aqui caso as comparações acima falhem.
			    echo "No blood found\n";
			    break;
        } 
}