Mise à jour:
Vous êtes presque là, il vous suffit de faire le remplacement d'une chaîne vide et échapper à la parenthèse correctement, sinon ils seront traités comme groupe de capture (que vous n'avez pas besoin BTW):
$str = preg_replace("#\('pm_.+?', '.*?'\);#si", "", $str);
vous probablement aussi ne pas besoin des modificateurs s
et i
mais c'est à vous de décider.
ancienne réponse:
probablement str_replace()
suffit:
$str = "Some string that contains pm_IDHERE and NameHere";
$str = str_replace(array('pm_IDHERE', 'NameHere'), '', $str);
Si ce n'est pas ce que vous entendez et pm_IDHERE
est en fait quelque chose comme pm_1564
alors oui, vous avez probablement des expressions régulières pour ça. Mais si NameHere
n'a pas de modèle ou de structure, vous ne pouvez pas le remplacer par une expression régulière.
Et vous devez absolument expliquer mieux quel genre de chaîne vous avez et quel genre de chaîne vous voulez remplacer.
Pouvez-vous montrer ce qui n'a pas fonctionné? C'est presque toujours mieux (pour vous) si quelqu'un peut vous montrer où vous avez mal tourné, donc .. vous comprenez mieux l'expression. Le résultat de la demande du «bon code» sur SO est indéfini. –
Je suis cofused quant à ce dont vous avez besoin. Pouvez-vous donner un exemple de ce que vous faites et de ce qui ne fonctionne pas? Jetez un oeil au manuel PHP pour quelques bons exemples de la façon dont fonctionne preg: http://php.net/manual/fr/function.preg-replace.php – labratmatt
$ str = preg_replace ("# \ ('pm _ (. + ?) ',' (. *?) '); # si "," \ 1 ", $ str); – Joseph