Je crée du code pour générer automatiquement une méta-desc pour les pages de produits dans VM.
J'ai enlevé les tags, mais je vois toujours  
dans le texte résultant.
Le code que j'ai actuellement est:
if ($product->metadesc) {
$document->setDescription($product->metadesc);
} else {
$document->setDescription(strip_tags("Buy ".$category->category_name." | ".$product->product_name." | ".$product->product_desc));
}
Ainsi, par exemple, cela produit:
Buy T-Shirts | PTB Keep Calm | PTB Keep Calm This creative design is printed on a Premium Fitted CVC Crew Tee Features:60% combed rin...
Y a-t-il quelque chose que je puisse faire pour supprimer ces entités spatiales insécables?
html_entity_decode () , comme suggéré par Lodder, est un appel de fonction approprié. Si vous souhaitez "nettoyer" des espaces consécutifs, un simple et large appel de regex fera l'affaire.
* J'ai ajouté le modificateur de modèle Unicode pour une couverture de remplacement maximale.
démo :
$category = new stdClass();
$category->category_name = 'T-Shirts';
$product = new stdClass();
$product->product_name = 'PTB Keep Calm';
$product->product_desc = 'PTB Keep Calm This creative design is printed on a Premium Fitted CVC Crew Tee Features:60% combed rin...';
$decoded = strip_tags(html_entity_decode("Buy " . $category->category_name." | ".$product->product_name." | ".$product->product_desc));
echo $decoded;
echo "\n---\n";
echo preg_replace('~\s+~u', ' ', $decoded);
Sortie:
Buy T-Shirts | PTB Keep Calm | PTB Keep Calm This creative design is printed on a Premium Fitted CVC Crew Tee Features:60% combed rin...
---
Buy T-Shirts | PTB Keep Calm | PTB Keep Calm This creative design is printed on a Premium Fitted CVC Crew Tee Features:60% combed rin...
Bien sûr, si vous n'avez aucune autre entité à décoder et que vous souhaitez condenser les espaces, vous pouvez simplement utiliser regex.
echo preg_replace('~(?:\s| )+~u', ' ', strip_tags("Buy " . $category->category_name." | ".$product->product_name." | ".$product->product_desc));