PHP: Preg заменить строку ничем - PullRequest
1 голос
/ 26 июня 2010

Я новичок в preg_replace(), и я пытался заставить это работать, я не мог, так что StackOverflow - мой последний шанс.

У меня есть строка с несколькими из них:

('pm_IDHERE', 'NameHere');">

Я хочу, чтобы он был заменен ничем, поэтому потребовалось бы 2 символа подстановки для NameHere и pm_IDHERE.

Но я попробовал и потерпел неудачу сам,Может кто-нибудь дать мне правильный код, пожалуйста, и спасибо:)

1 Ответ

3 голосов
/ 27 июня 2010

Обновление:

Вы почти на месте, вам просто нужно сделать замену пустой строкой и правильно убрать скобки, иначе они будут рассматриваться как группа захвата (которую вы надеваетене нужно):

$str = preg_replace("#\('pm_.+?', '.*?'\);#si", "", $str);

Возможно, вам также не нужны модификаторы s и i, но это зависит от вас.


Старый ответ:

Возможно, достаточно str_replace():

$str = "Some string that contains pm_IDHERE and NameHere";
$str = str_replace(array('pm_IDHERE', 'NameHere'), '', $str);

Если это не то, что вы имеете в виду, а pm_IDHERE на самом деле что-то вроде pm_1564 тогда да, вам, вероятно, понадобятся регулярные выражения для этого.Но если NameHere не имеет фактического шаблона или структуры, вы не можете заменить его регулярным выражением.
И вам определенно нужно лучше объяснить, какая у вас строка и какая строка Вы хотите заменить .

...