2012-03-20 6 views
1

나는 HTML 페이지에이 표를 구문 분석 preg_replace이다 기능을 사용하려고 :PHP preg_replace이다 기능 오류

나는 "알 수없는 수정 ' t'"오류가 있고 난이 변경 때문에 테이블 태그
Tuition. $13,140 $13,167 $13,167  
Books  $996  $1,176  $1,176 

'~ ~'으로 '/ /'.

여전히 문제가 있습니다.이 기능은 텍스트를 변경하지 않습니다. 나는 '$'달러의 문제가 텍스트에 서명했다고 생각하는데, 어떻게 그걸 건너 뛸 수 있습니까? 나는하려고했지만 나는 할 수 없었다.

$price = $html->find('div[id=divctl00_cphCollegeNavBody_ucInstitutionMain_ctl00] table[class=tabular]'); 

     $price1=$price[0]; 
     $show=$price1; 

     $ch="~".$show->children(1)->children(0)->children(1)."~"; 
     $show=preg_replace($ch,' ',$show, 1); 

감사

+2

'preg_quote'를 사용하면 패턴을 이스케이프 처리하므로'preg_replace'가 작동하지만 실제로 테이블로 무엇을 하려는지 확실하지 않습니다. – pjumble

+0

예 preg_quote도 '< >'문자를 건너 뛰고 내 테이블을 깨뜨리고 HTML 태그를 유지하고 싶습니다. 달러 기호를 건너 뛰고 싶습니다. 한 웹 사이트에서 다른 웹 사이트로 데이터를 전송하려고합니다. –

+0

'$ ch'에 무엇이 있는지 보여주기 – zerkms

답변

2

이 시도 : 당신이 preg_quote을 사용하고 (이 경우 $이 문제에) 여러 탈출을 할 수없는 경우 $show=preg_replace(str_replace('$','\$',$ch),' ',$show, 1); , 당신은 둘 수 있었다 여기

내 코드입니다 당신의 특수 문자를 배열에 넣고 그것으로부터 필터링하십시오.