[請益] 擷取網頁內容時,想把不要的內容排除

作者: poeta (鍵盤詩人)   2015-10-19 16:52:13
我現在要做一個事情,是分析歌詞裡常出現的詞句。
當然首先就要先收集大量的歌詞,我就去常見的歌詞網來
找,他們的歌詞都有寫在網頁的meta裡,像這樣
<meta name="description" content="八卦 黃安作曲 八卦八卦我牽掛" />
所以很容易用 get_meta_tags就可以截取出來,我擷取出
來以後,先把每一句歌詞後面的空白變成<br>,然後每遇
到一個<br>,就把它放入陣列裡面。這樣echo陣列,就會
印出每一句歌詞。
但是印出陣列時,我發現除了歌詞之外,還會擷取到
詞曲作者的資訊,這不是我需要的,大概會變成這樣:
作詞:黃安<br>
演場:白安<br>
/<br>
李慶安<br>
導演:李安<br>
八卦八卦我牽掛<br>
找不到你爸爸<br>
找不到你媽媽<br>
找不到你全家<br>
我目前遇到的兩個問題是,有兩個演唱人時,原本他是用
/ 和空白區隔,都被我的<br>處理到了。另一個問題就是
上面提到的,作曲人資訊我完全不需要,有什麼辦法可以
把那些資訊剃除掉呢?
目前想到的方法是,把導演、作詞、作曲等等所有的
資訊都收集起來,做一個判斷式,遇到了就不輸出。可是
這就面臨前一段指出的,雙演唱人誤判的問題。而不先處
理空白變成<br>,把歌詞分段輸入陣列,就不能做判斷,
所以就卡關了。
作者: rockmanalpha (KIN)   2015-10-19 17:06:00
直接擷取網頁中的會不會比較好 因為顯示在網頁的都有換行我意思是從<body></body>裡面擷取而如果在meta裡面抓 用正則來處理比較好
作者: kuoll (kuoll)   2015-10-19 23:18:00
substr截取前兩個字 如果==作詞or作曲or編曲 那一項就不要echo就好了 至於/的問題 你先把" / "取代成"/" 再把空格換成<br>會不會比較容易一點?
作者: poeta (鍵盤詩人)   2015-10-20 02:56:00
對對,一時沒想到,謝謝兩位。
作者: Peruheru (還在想)   2015-10-20 09:30:00
作詞 作曲 編曲 原作 翻唱 客串如果有歌詞真的是"編曲"開頭就掛了,建議用編曲:

Links booklink

Contact Us: admin [ a t ] ucptt.com