2

Web ページからデータを読み込んでいますが、preg_replace 関数のパターンを書くのに助けが必要です。

この Web ページには、スタイル color=#767676 の span タグ内に「能力、影響力、または力なし」が含まれています。

スパンタグなしで「能力・影響力・力なし」のみ出力できるようにしたいです。span タグ内のスタイルの色に基づいてそれを行う方法はありますか? ファイルには他にも多数の span タグがあるためです。

ここに私が書いたコードがあります:

$link="http://www.myWebsite.com";
$inputlink = @file_get_contents($link) or die('Could not access file: $link');
    // To output the span tag that has style=color:#767676
$outputlink = preg_replace('/(<[^>]+) style="color:#767676"/i', '$1', $inputlink);
    // To remove the span tags
$string = preg_replace("/<span[^>]+\>/i", "", $outputlink);
echo strip_tags($string);//OUTPUT : Without ability, influence, or power

Web サイトのコンテンツ全体を出力として取得しています。また、パターンの記述について学べるリンクを教えていただければ幸いです。

ありがとう

4

1 に答える 1

1

これを使用できます:

<?php

$link = 'http://www.myWebsite.com';
$inputlink = @file_get_contents($link) or die('Could not access file: $link');

ページ " http://www.myWebsite.com" は次のようなものだと思います:

<span style="color:#767676">Without ability, influence, or power</span> <span>if you see this part or see last part in gray color, your regexp is wrong!</span>

では、正規表現を書いてみましょう

$pattern = '/<span style="color:#767676">([^<]+)(?<!<\/span>)<\/span>/';
preg_match($pattern, $text, $matches);
echo $matches[1];

タグWithout ability, influence, or powerなしで出力されます。<span>

于 2013-09-27T07:00:12.937 に答える