2013-08-05 2 views
0

필드의 값은 { "93": "크기 : </span> XL </span>"}입니다. 크기 : XL 만 표시하고 싶습니다. strip_tag 함수를 사용해 보았지만 실패했습니다. 제안이 있습니까?텍스트 필드에서 html 태그 및 기타 문자를 제거하는 방법

+0

당신은 무엇을하려고 않았다 ..

Size:XL 

가 고정 희망이 될 것인가? 어떻게 실패 했습니까? – SLaks

+0

정말 " XL"이면 심각한 문제가 있습니다. 태그가 아니기 때문에 strip_tags는 실패합니다. – MightyPork

+2

필드의 출처는? JSOM처럼 보입니다. –

답변

0

하면 태그과 같이, 정확 경우

<span>XL</span> 대신 </span>XL</span>,

strip_tags() 당신을 위해 작동합니다. 나는 다음과 같은 테스트가 확인

... 굴복
$text = "<span>XL</span>"; 
$goodtext = strip_tags($text); 

그리고 출력 결과

...

echo htmlentities($text) 
echo "<br/>"; 
echo htmlentities($goodtext); 

...

<span>XL</span> 
XL 
0

귀하의 질문은 조금이었다 불투명하다. 필드에 {대괄호 ({})를 포함하여 모두 포함 된 경우 바꾸기에서이 정규식이 도움이된다면 문자를 빈 문자열 :

/"\:"|[^A-Za-z:]|span/g 

그런 경우가 아니고는 스팬과 두 번째 문자열이있는 경우, 당신은 사용할 수이 하나

/[^A-Za-z:]|span/g 

하지만 경고, 그것은 또한 공간을 제거하고 특정 경우에만 작동합니다 (예 : 다른 태그를 제거하지 않습니다.

0

preg_match_all 함수를 사용하여 전역 정규 표현식 일치를 적용하여 필드에서 "크기 : XX"만 추출 할 수 있습니다.

$field = "your data fields" 
$pattern = "/(Size:)<\/span>([a-z]{1,2})<\/span>/i"; 

preg_match_all($pattern,$field,$result,PREG_SET_ORDER);         
foreach($result as $r) { 
    print($r[1]." ".$r[2].PHP_EOL); 
} 

윌 출력 :

Size: XL 
Size: L 
... 
2

이 시도,

그 JSON 인코딩 된 값입니다.

$text = '{"93":" Size:</span>XL</span>"}'; 
$ar = json_decode($text); 

foreach($ar as $value){ 
    echo strip_tags($value); 
    } 

출력은

+0

select 문을 사용하여 데이터베이스에서 필드를 가져옵니다. 필드는 텍스트입니다. 나는 replace 함수와 strip_tags 함수를 시도했다. 내가 그것을 당긴 후에 값을 어떻게 바꿀까요? – user2158376

+0

위의 json으로 값을 디코딩하면 foreach()를 사용하여 액세스 할 수 있습니다. –

+0

정확히 어떤 부분이 태그를 제거하고 있습니까? 내 이해를 위해 그들은 여전히 ​​HTML과 브라우저가 태그를 표시하지 않기 때문에 그것을 보지 못한다. – Havenard

관련 문제