ホームページ >バックエンド開発 >PHPチュートリアル >定期的な問題についてアドバイスを求める
<dl class="w1" style="width:500px"><dt>转正工资:</dt><dd>2000-3000元<!--2000-3000元/月 -->,试用期薪资60%</dd></dl>
/<dd>(.*?)(?:<\!\-\-.*?\-->)(.*?)/ius
/<dd>(.*?)(?:<\!\-\-.*?\-->)(.*?)<\/dd>/ius
最初に一致させてから置き換える方が効率的かもしれません。
chinmo なぜこの通常のルールをうまく試すことができないのですか? テストしましたか?
$s=<<(.+?)<\!--.+?-->(.+?)<\/dd>/s',$s,$m);echo $m[1].$m[2];
chinmo なぜこの通常のルールを試してみることができないのですか?テストは成功しましたか?
それでは、どのようにテストしたのかわかりません
$s='81d44135fff7fde4b338a088ff35dcc7 73de882deff7a050a357292d0a1fca94通常の給与:ab36994ee5614b675a45c0c665150ffb
';
preg_match('/67bc4f89d416b0b8236eaa5f43dee742 (.*?)(?:cb0d040d3d1c352afcc7dd7da842cba6)(.*?)82e295699cff932a4d4dabba39074c35/ius',$s,$m) ;
echo $m[1]. $m[2];
とにかく、テストはうまくいきました
結果のスクリーンショット:
preg_match("/(.*?)(.* ?)/", $str,$arr);
echo $arr[2];
u 修飾子は utf-8 でエンコードされたデータに対してのみ有効です
それに、中国語を処理していません
実際、これではないでしょうかとてもシンプルですか?
preg_match('/67bc4f89d416b0b8236eaa5f43dee742(.*?)82e295699cff932a4d4dabba39074c35/is',$s,$m);
echotrip_tags($m[1]);
不思議ではありません、私はちょうど gbk でした今エンコードしたら、表示できないのも不思議ではありません
Xuzuningさんの方法は良いですね。PHPにはstrip_tags関数があることが分かりました。これはとても便利です。