2010-06-26 7 views
1

저는 preg_replace()을 처음 사용하고 있습니다. 저는 이것을 작동 시키려고 노력하고 있었기 때문에 StackOverflow가 나의 마지막 기회입니다.PHP : Preg는 문자열을 아무 것도 대체하지 않습니다.

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

나는 그것이 아무것도 교체, 그래서 NameHerepm_IDHERE 2 와일드 카드를 필요로합니다 :

나는 이들의 몇 가지 문자열을 가지고있다.

그러나 나는 나 자신을 그것을 시도와 실패, 그래서 누군가가 나에게 올바른 코드를하시기 바랍니다 줄 수, 감사 :

+1

작동하지 않는 것을 표시 할 수 있습니까? 당신이 잘못한 곳을 누군가가 보여줄 수 있다면 거의 항상 더 낫습니다. 따라서 표현이 더 잘 이해됩니다. SO에 '올바른 코드'를 묻는 결과는 정의되지 않았습니다. –

+0

나는 당신이 필요로하는 것에 관해서 혼수 상태입니다. 당신이하고있는 일과 그렇지 않은 것에 대한 예를 들어 줄 수 있습니까? preg의 작동 원리에 대한 좋은 예를 보려면 PHP 매뉴얼을보십시오. http://php.net/manual/en/function.preg-replace.php – labratmatt

+0

$ str = preg_replace ("# \ ('pm _ (. ?) ','(. *?) '); # si ","\ 1 ", $ str); – Joseph

답변

3

업데이트 : 당신은 거의가

, 당신은 단지 확인해야 (당신이 BTW 필요가 없습니다) 빈 문자열과 제대로 괄호를 탈출 교체, 그렇지 않으면 캡처 그룹으로 처리됩니다 :

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

당신은 아마 또한 수정이 필요하지 않습니다 s and 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에 실제 패턴이나 구조가 없으면 정규 표현식으로 바꿀 수 없습니다.
그리고 어떤 종류의 문자열을 더 잘 설명해야합니까? 이고 어떤 종류의 문자열 을 대체하려고합니다.

관련 문제