discuz では、返信テーブル (forum_post) のメッセージ フィールドの内容は次の形式で保存されます:
$message = "[i=s] u672cu5e16u6700u540eu7531 areyouok u4e8e 2016-3-5 15:12 u7f16u8f91 [/i ]nn[attach]41[/attach][attach]10[/attach]u592au9633u5149uff0cu91d1u4eaeu4eaeuff0cu96c4u9e21u9ad8u9ad8u5531rn";
[attach] と [/attach] の間の部分は添付ファイル ID です。これを取得してコンテンツを見つける必要があります。特定の添付ファイル。
ここでは、php 正規表現を使用して開始文字列と終了文字列の間の内容を取得し、それを配列に入れる必要があります
テストに合格したいくつかのコード:
//Get the start文字列
$subject = '"./uploads/meinian/96140234039638604.html"n"./uploads/meinian/json_30_60393801_20140924.txt"'; の後の文字。
$pattern = '#"./uploads/meinian/(.*?)"#i';
$items = preg_match_all($pattern, $subject, $matches);
var_dump($matches);
echo '< ;hr/>';
//開始文字列と終了文字列の間の部分を取得します
$subject = "[i=s] u672cu5e16u6700u540eu7531 areyouok u4e8e 2016-3-5 15:12 u7f16u8f91 [/i]nn[attach ]41[/attach][attach]10[/attach]u592au9633u5149uff0cu91d1u4eaeu4eaeuff0cu96c4u9e21u9ad8u9ad8u5531rn";
$pattern = '#[attach](.*?)[\/attach]#i';
$items = preg_match_all($pattern)アジサシ、 $subject, $matches);
$target = preg_replace($pattern,'',$subject);
echo 'target='.$target.'
以上、開始文字列と終了文字列の一部を取得するためのPHP正規表現を内容も含めて紹介しましたが、PHPチュートリアルに興味のある方の参考になれば幸いです。