2013-04-15 5 views
0

PHP의 정규식에 문제가 있습니다.string PHP에서 문자열을 구문 분석합니다.

"NAPLAK ROSSO + S.ARG. + LACC.ARG. + NK"라는 문자열이 있는데,이 단어는 모두 ROSSO, S.ARG와 같은 옵션을 포함하고 있습니다. ROSSO = 빨강, s.arg = 실버 등등.

재질 :

이 문자열 중 내가 설명처럼 생성 할 필요가 Naplak을 색상 : 레드, 실버 .... ....

나는 거기에 갈 것을 생각 다음과 같은 laguage 코드가있는 배열이되어야합니다.

$options = array(
    "ROSSO" => "COLOR_RED", 
    "S.ARG" => "COLOR_SILVER" 
); 

이 목적을 위해 정규식을 작성하는 데 도와 주시겠습니까?

최상의 regargs, RussianRoot.

+0

당신이 여기에 정규 표현식을하지 않으 :

$item = explode(' ', "NAPLAK ROSSO+S.ARG.+LACC.ARG.+NK"); $args = explode('+', $item[1]); $item = $item[0]; echo $item; 

는 "NAPLAK"

print_r($args); 

이 우리를 제공합니다 우리를 제공합니다 :처럼 아마 쉽고 빠르게 뭔가를 할 수 "패턴"이 없다면 실제 단어를 대체하고 색상 이름에 실수 (예 : 문자 누락)가 있으면 정규식도 실패합니다. 여러 개의 바늘이있는 str_replace()를 사용하면됩니다. 그리고 @Paul Moldovan이 배열을 사용하여 색상을 제안하고 "번역"할 때 폭발을 사용하여 분리 할 수 ​​있습니다. – aleation

답변

0

정규식이 필요하지 않다고 생각합니다. 있기 때문에

array(4) [ 'ROSSO', 'S.ARG', 'LACC.ARG.', 'NK' ]; 
0

모두가 +로 구분되는 경우 explode을 사용하지 않으시겠습니까?

그러면 각 요소가있는 배열을 얻고 원하는대로 할 수 있습니다.

다른 방법은 str_replace을 사용하고 "ROSSO"를 "COLOR_RED"로 바꾸는 것입니다.

관련 문제