次のようなHTMLコンテンツを解析したい:
<td class="s3_40">12,909</td>
(12,909) のような文字列を見つけるために多くの正規表現を試しましたが、%<td class=\"s3_40\">(.*)</td>%
見つかりませんでした。
次のようなHTMLコンテンツを解析したい:
<td class="s3_40">12,909</td>
(12,909) のような文字列を見つけるために多くの正規表現を試しましたが、%<td class=\"s3_40\">(.*)</td>%
見つかりませんでした。
正規表現でそれを行う必要がある場合。次のようなパターンを試すことができます。
/<td[^>]*>(.*?)<\/td>/
これを試して
#(?<=(s3_40">))([^<]+)(?=(</td>))#
このようにしてみてください。必要なクラスに s3_41、s3_42 などを追加してください。
<?php
$s = '<td class="s3_40">12,909</td>';
$pat = '@<td class=".*(s3_40|s3_41).*".*?>(.*?)</td>@isU';
preg_match_all($pat,$s,$ms);
var_dump($ms);
これが役立つことを願っています:
$str = '<td class="s3_40">12,909</td>';
if (preg_match('#<td class="s3_40">(.*)</td>#s', $str, $matches)) {
var_dump($matches[1]);
}