2014-07-23 5 views
-3

Je veux supprimer <i> et </i> à partir d'une chaîne. J'ai utilisé strip_tags et htmlentities, mais ce n'est pas une solution pour moi. parce que je vais utiliser cette chaîne pour XML source à l'étape suivante. Je ne pouvais pas le changer en utilisant str_replace et preg_replace aussi.comment supprimer seulement <i> et</i> à partir de chaîne dans php

+0

Votre explication de pourquoi strip_tags et str_replace ne fonctionneront pas pour vous n'a aucun sens. – developerwjk

+1

Une idée de pourquoi échoue? - Moi non plus; montre du code afin de voir ce que tu as essayé. –

+0

Parce qu'ils ont supprimé toutes les balises dans la source xml –

Répondre

1

Si vous souhaitez uniquement remplacer ces deux balises, vous pouvez simplement utiliser str_replace.

http://php.net/manual/en/function.str-replace.php

$string = str_replace("<i>", "", "$string"); 
$string = str_replace("</i>", "", "$string"); 
+0

Vous avez mon soutien total à ce sujet, mais l'OP déclare que * "Je ne pouvais pas le changer en utilisant' str_replace' et 'preg_replace' aussi." * Voyons si OP change d'avis. –

+0

Mon cerveau semblait ignorer ce point, encourage Fred, j'espère que cela peut aider. –

+0

À la vôtre Michael. Nous nous asseyons et attendons ;-) –

0

strip_tags réellement fonctionnera pour cela si vous avez une liste des balises que vous souhaitez autoriser (c'est son deuxième argument).

Vous connaissez probablement votre schéma XML à l'avance, vous pouvez l'utiliser comme:

strip_tags($text, '<title><name>') 

Ensuite, il supprimera toutes les balises autres que title et name ...

title et name sont juste un exemple, évidemment. Vous devez inclure toutes les balises possibles dans votre schéma XML autres que celles que vous souhaitez supprimer.

+0

Que se passe-t-il si le code de l'OP contient d'autres étiquettes recherchées? Cela ne marchera pas. –

+0

@Fred -ii, Comme je l'ai dit, si vous connaissez votre schéma XML à l'avance, cela fonctionnera, et si vous ne le faites pas, ce ne sera pas le cas. – developerwjk

+0

Je suis corrigé. –

Questions connexes