2014-06-24 7 views
1

Je veux supprimer le caractère spécial @ de la chaîne suivanteSuppression de caractère spécial d'une chaîne

$string="Test <a href='/group/profile/1'>@Test User</a> another test <a href='/group/profile/2'>@User Test</a>"; 

Sortie prévue:

<a href='/group/profile/1'>Test User</a> another test <a href='/group/profile/2'>User Test</a>" 

Ici je besoin de vérifier chaque balises d'ancrage dans la chaîne et besoin de trouver uniquement les balises d'ancrage avec le profil de mot dans href et doivent retirer le @ du texte du lien.S'il y a @ en dehors de l'étiquette d'ancrage dans la chaîne, il ne doit pas être retiré, seul le @ dans le anc La balise hor doit être supprimée.

+0

La sortie manque le premier ' "Test"' aussi bien; attendu? –

Répondre

3

utiliser une expression régulière:

$string = preg_replace('/(<a href.*profile.*>)@/U', '$1', $string); 

esprit le modificateur ungreedy (U).

+0

génial .. cela a fonctionné – user1851420

0

Essayez ceci:

// supprimer @ de chaîne

$string=str_replace('@','',$string); 

// chaîne de encode en utilisant la fonction base64_encode de php

$string=base64_encode($string); 

// chaîne de décodage en utilisant la fonction base64_decode de php

echo $string=base64_decode($string);   //Expected output