1

変数$pageにはWebページ(完全なHTMLファイル)が含まれていますが、次の行でそのファイルをフィルター処理したいと思います。

<a href="http://[website]/[folder]/

そして、文字列で解析された後の5文字が必要です。

ただし、その文字列は内部$pageに複数回存在するため、数値も配列に格納する必要があります。

したがって、と一致するものが見つかった場合<a href="http://[website]/[folder]/23455、「23455」を次のように取得するにはどうすればよいですか。$nums[0]

そして、と別の一致が見つかった<a href="http://[website]/[folder]/12345場合、「12345」はに入れられます$nums[1]

4

2 に答える 2

2

http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/をご覧ください。この正規表現が役立つかもしれません。

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ 
于 2012-08-10T12:27:46.643 に答える
0

あなたの質問から私が理解していることから、あなたはURLの最後の部分を取得し、比較を行ってから値を配列に格納しようとしているだけですか?私はこのコードがうまくいくはずだと信じています。

$nums = new array(); //declare your array
$a = new SimpleXMLElement('<a href=<a href="http://[website]/[folder]/23455">Your Link</a>'); //create a new simple xml element
$a = $a['href'];
$array = explode("/",$a); //split the string into an array by using the / as the delimiter

if($array[count($array)-1] == '23455') { //get the count of the array and -1 from the count to get the last index then compare to required number
$nums[0] = '23455'; //store value in array
} else if ($array[count($array)-1] == '12345'{
$nums[1] = '12345'; //
}
于 2012-08-10T12:39:17.343 に答える