2010-10-12 3 views
0

Je dois tout enlever (parenthèses, ponctuation, etc.), en utilisant PHP, à partir d'une chaîne de texte et ne laisser que du texte.chaîne de texte propre

Quelqu'un a suggéré ceci:

$str= trim(preg_replace('/\s*\([^)]*\)/', '', $str)); 

De plus, s'il y a des mots comme: Bob il doit être nettoyé à Bob. Je n'ai pas non plus besoin de chiffres, juste des mots séparés par des virgules.

+0

Voulez-vous supprimer uniquement des parenthèses ou du texte? Le code que vous avez publié supprime également le texte entre parenthèses. – casablanca

+0

Juste des parenthèses. – santa

Répondre

1

Utilisation:

$str = preg_replace('/[^A-Za-z]/', '', $str); 

Cela remplacera tout ce qui est pas A-Z ou a-z (à savoir, tout ce qui est pas une lettre).

0

Ce qui suit remplacera tout ce qui n'est pas une lettre ou une virgule comme décrit dans votre OP. Cependant, il ne changera pas Bob's à Bob. Si c'est ce dont vous avez besoin, commentez avec d'autres exemples.

$str = trim(preg_replace('/[^a-zA-Z,]/', '', $str)) 
0

Veuillez utiliser cette option si vous ne voulez que des chaînes et des scripts.

echo strip_tags(html_entity_decode($string_data)); 

Je pense que cette méthode vous aidera à obtenir tout le texte à partir du script ou des balises, il peut être utilisé pour diviser balise individuelle aussi. comme ceci:

echo strip_tags(html_entity_decode($string_data),"<p>"); 
echo strip_tags(html_entity_decode($string_data),"<a>"); 
echo strip_tags(html_entity_decode($string_data),"<span>"); 
Questions connexes