ホームページ >バックエンド開発 >PHPチュートリアル >PHP は次の状況で正規表現を使用しますか?
プロジェクトでは次の 2 つのケースが発生する可能性があります。
最初のタイプ:
......sadfa:
& & lt; a ID = "j_wsad" href = "javascript: void (0)" & gt; 1235db79b134e9f6b82c0b36e0489ee08ed
SLDKJLSKDFJ.....
2 番目のタイプ:
.....SADFA:
SLDKJLSKDFJ.....
お願いします英雄たち、正規表現を使って表現する方法はありますか?
思ったこと:
preg_match("/SADFA:.*?(d+)/is",$text,$reg);
このようにすると、結果は javascript:void(0) の 0 になります、
変更します
preg_match("/SADFA:.*?([1-9]d*)/is",$text,$reg);
赤い部分の数字は取得できますが、赤い部分は 0 です。私にできることは何もありません。助けてください。 。 。
ディスカッションに返信(解決策)
最初のケースでは 2 番目の番号を取得したいです
2 番目のケースでは最初の番号を取得したいです数字、
正規表現を使いたいのですが、書き方が分かりません
<?php$s1='........SADFA <a id="J_WSAD" href="javascript:void(a10)">123</a>SLDKJLSKDFJ.........';$s1=strip_tags($s1);preg_match_all("/\d+/",$s1,$reg);print_r($reg);?>
$s =<<< TXT第一种:........SADFA: <a id="J_WSAD" href="javascript:void(0)">123</a>SLDKJLSKDFJ.........第二种:........SADFA: 0SLDKJLSKDFJ.........TXT;preg_match_all('/SADFA:.+[>\s](\d+)\b/sU', $s, $r);print_r($r);Array
(
[0] => Array (
) [0] => ; SADFA:
e8b17d4a62692a7d99aa96e4b76344e4123
[1] = & gt;
)
上の2人に感謝します。膨大な量のデータがあるため、Strip_tags がもう一度処理されるかどうか、効率に影響するかどうかはわかりません。試してみます。とにかく、ありがとう、baoxiaohua
個人的には、xuzuning モデレーターの方法の方が好きです。まさに私が探していたものです。思いつきもしませんでした。本当にありがとうございます
最終的には /SADFA: .*?[ >s](d+)/ を使用しました。は、欲張らないマッチングを省いても問題ないかな(笑)。 。