从HTML获取特定输出

时间:2013-07-23 11:05:52

标签: php html dom find

<div class="info">
    <ul class="links">
    </ul>
    <h1>Vykúpenie z väznice Shawshank</h1>
    <ul class="names">
       <li>
       <img src="http://img.csfd.cz/assets/images/flags/flag_1.gif" alt="USA"  />
       <h3>Shawshank Redemption, The</h3>
       </li>
       <li>
       <img src="http://img.csfd.cz/assets/images/flags/flag_34.gif" alt="CZ název"  />
       <h3>Vykoupení z věznice Shawshank</h3>
       </li>
    </ul>

嘿伙计们,这是大HTML的一部分,我需要的是使用HTML SIMPLE DOM PRASER并获得这3个文本:“VyykúpeniezväzniceShawshank”,“Shawshank Redemption,The”,“VykoupenízvězniceShawshank”如何我应该这样做吗?

我尝试使用PHP代码:

$html = file_get_html('file.txt'); 
$ret = $html->find('ul[class="links"]');   //nazov filmu


foreach ($ret as $translate) {
    $translate = $translate->innertext;
    }   
    echo "$translate";      

2 个答案:

答案 0 :(得分:1)

有很多方法可以进行翻译。您可以使用可以使用方法的内容。我最喜欢的方法之一是使用 Zend Translate 检查它。

主要目的是创建一种方法,根据语言改变一些含量。

 class Translator
 {
    public static $lang = 'en';
    public function translate($str){
       if(isset($this->data[$str]))
       return $this->data[$str];
       else return 'no translation';
    }
 }

 $translate->('DO_HOMEWORK'); 

语言应存储在会话中,并取决于应该提供适当值的语言。您可以从 CSV 文件, ini 文件中获取$this->data,也可以直接从不真正匹配的阵列中获取{{1}}。您可以将单例模式用于Translator类。

答案 1 :(得分:1)

我想你想要这样:

<div class="info">
    <ul class="links">
        <li><h1>Vykúpenie z väznice Shawshank</h1>
            <ul class="names">
                <li>
                    <img src="http://img.csfd.cz/assets/images/flags/flag_1.gif" alt="USA"  />
                    <h3>Shawshank Redemption, The</h3>
                </li>
                <li>
                    <img src="http://img.csfd.cz/assets/images/flags/flag_34.gif" alt="CZ název"  />
                    <h3>Vykoupení z věznice Shawshank</h3>
                </li>
            </ul>
        </li>
    </ul>
</div>