2016-08-16 4 views
1

私はウェブサイトから擦っている情報を操作するために爆発を使用しています。私は文字列から特定のものを削除して、必要なものを返し、残りのアイテムを配列に追加しようとしています。この文字列の一部をphpの。*タイプの正規表現に置き換えるにはどうしたらいいですか?

$pageArray = explode('<td class="player-label"><a href="/nfl/players/antonio-brown.php?type=overall&week=draft">', $fantasyPros); 

私はアントニオ・ブラウンのセクションをスキップして、正規表現または何を使用したいが、それは特定の名前が、リスト上のすべての名前を探し、それらを追加しないようにそれを交換するのが最善である私アレイ。私はここで何を使うべきですか?私は助けていただきありがとうございます。

+2

'preg_split'を探しているようです。 – revo

+2

[DOMDocument](http://php.net/manual/en/class.domdocument.php)が、ページ全体を解析して、爆発を使ってハッキングするのにはよく似ていますあなたがやっていることは何でも。これは、HTMLで作業するために作られたものであり、 'getElementById'、' getElementsByTagName'のようなJSでDOMを扱うときに利用できるメソッドの大部分と、属性、値のチェックとDOMの修正のためのメソッドが含まれています。 –

+0

substr '$ players2 = $ secondpageArray [2];を使用して、配列の1つの値に対して正しく表示されるようになりました。 $ players2 = substr($ players2,106、-100); '配列にsubstrを使用する方法を理解することができず、別の問題は、最初の数が105-107の間である可能性があるということです。 substr($ players2,106、-100)elseif substr($ players2,107、$ player2,107);もし、配列を使ってそれを使う方法を理解できれば、 -100)など私はそれが動作すると思う。誰も私がこれをどうやってできるか知っていますか? – Clay2023

答えて

0

私には適切なxpath機能を持つパーサージョブのようです。 not()
は、次のコードを考えてみましょう:

<?php 

$data = <<<DATA 
<td class="player-label"> 
    <a href="/nfl/players/antonio-brown.php?type=overall&week=draft">Some brown link here</a> 
    <a href="/nfl/players/antonio-green.php?type=overall&week=draft">Some green link here</a> 
</td> 
DATA; 

$dom = new DOMDocument(); 
$dom->loadHTML($data); 

$xpath = new DOMXPath($dom); 

$green_links = $xpath->query("//a[not(contains(@href, 'antonio-brown'))]"); 
foreach ($green_links as $link) { 
    // do sth. useful here 
} 
?> 

これは何のantonio-brownがそれでありませんすべてのリンクを出力します。
これをtdまたは他の要素に簡単に調整できます。

関連する問題