2013-08-01 2 views
-1

문장 내에서 문장을 번역하기 위해 텍스트 내의 모든 html 태그를 없애고 싶습니다.모든 HTML 태그를 제거하는 방법은 무엇입니까? 별도로 저장할 수 있습니까?

저는 preg_match를 사용하여 성공하지 않고 다른 문장의 배열을 반환하려고합니다. witout luck.

태그를 나중에 코드에 다시 삽입 할 수 있도록 태그를 저장할 수 있습니까? 일단 텍스트가 번역되면? 지금은

내가 가진 :

public function translate($text) { 

    $bool = preg_match('/(<[^>]+)/i', $text, $strings_to_translate); //untested 
    // Ruan Regex /(<p(>|\s+[^>]*>).*?<\/p>)/i 
    //Ideally strip dupes from this before looping 

    var_dump($strings_to_translate); 

    foreach($strings_to_translate as $to_translate) { 

     echo $to_translate; 
    } 
    return TRUE; 
} 

감사

+2

돈 '. regexes를 사용하여 HTML을 파싱합니다. 대신 [DOMDocument :: loadHTML'] (http://us.php.net/manual/en/domdocument.loadhtml.php)를 사용하여 콘텐츠를 적절한 DOM 구조로 구문 분석하십시오 – DCoder

+3

DO를 사용하고 싶습니다. M 파서, [모든 텍스트 노드 가져 오기] (http://stackoverflow.com/questions/768737/dom-fetch-all-text-nodes-in-the-document-php), 번역 및 [쓰기] (http://stackoverflow.com/questions/3820666/grabbing-the-href-attribute-of-an-a-element/3820783#3820783). 또는 문장을 문장 단위로 번역하려면 (예 : html 요소가 손상 될 위험이 없음) 원본 HTML에서 문장을'strip_tags' 및'str_replace'를 사용하십시오. – Gordon

+0

번역 할 텍스트를 DOM에 다시 삽입하는 방법을 보여줄 수 있습니까? –

답변

1

당신은 단순히 라인으로 데이터의 배열을 얻을 수 split("\n", strip_tags($text))를 사용 (또는 문장을 얻을 수 "."으로 "\n"을 대체 할 수

+1

하지만 번역 된 텍스트를 어떻게 스트립 된 태그로 다시 가져 옵니까? – Gordon

+1

==> '<==는 "\ n"을 의미합니까? –

+0

오자 -'''를 제거했습니다. – chadanuk

관련 문제