$word = ”<tr>
<tdwidth=¥”150¥”>1550〜</TD><!--コメント開始-->”;
この文章から1550の文字列だけを抜く方法を教えて下さい。
<tr>の後ろに改行と空白があるのと、「〜」という文字、さらには<!--の処理が難しくてわかりません。最適な答えには項ポイント差し上げます。
1550の文字列だけを抜いた文字列がほしい、というのであれば、正規表現は使わずに
$word_after = str_replace(”1550”,””,$word);
でいけるのではないでしょうか?
勘違いしていたらすみません。
http://jp2.php.net/manual/ja/function.preg-match.php
PHP: preg_match - Manual
単に4桁の数字を拾いたいというのであれば、
$match = preg_match(”/(¥d{4}+)/”,$word,$reg);
ですが
$match = preg_match(”/<tdwidth=.+?>(¥d+)/”,$word,$reg);
print ”reg:$reg[1] match:$match”;
とし方がこの場合良いでしょうか。
ありがとうございます。
早速ためしてみます。
PHP: mb_eregi - Manual
mb_eregi(’^<tr>¥n<td width=”150”>([0-9]+)~</td>.*’, $word, $match);
echo $match[1];
などどうでしょうか
ありがとうございmさう。
Yahoo! JAPAN
<?php
$word = ”<tr>
<td width=¥”150¥”>1550~</TD><!--コメント開始-->”;
print ereg_replace( ”.*>([0-9]*)~<.*”, ”¥¥1”, $word);
?>
ありがとうございます。
�Q�������˂��f���ւ悤����
URLはダミーです。
tdとwidthの間は半角スペースですよね?その他、全角になってる部分は半角に直しての検証です。
円のところは、円マークか、バックスラッシュに置き換えて下さい
$word = ”<tr>
<td width=¥”150¥”>1550~</TD><!--コメント開始-->”;
$pattern = ”<[^>]+>|¥n |~”;
$replacement = ’’;
$word_extracted = mb_ereg_replace($pattern,$replacement,$word);
echo word_extracted;//確認
解りやすい様に多少回りくどく書いています。
これでいけるのではないでしょうか?
ありがとうございます。、やってみます。
逆です。1550の文字列が欲しいです。