kuri.が何やら手伝ってくれた。

<p style="text-align: center; margin-left: 120px;">てすと</p>
<p style="margin-left: 80px; text-align: right;">てすと</p>
<p style="text-align: center;">てすと</p>
<p>てすと</p>
<p>てすと<br />
てすと</p>

これをサンプルにしてみた。

kuri.はjavascriptで書いたのでPHPに書き直した。

<?php
$text = '<p style="text-align: center; margin-left: 120px;">てすと</p>
<p style="margin-left: 80px; text-align: right;">てすと</p>
<p style="text-align: center;">てすと</p>
<p>てすと</p>
<p>てすと<br />
てすと</p>';

preg_match_all("/<p(.*?)>((.|\r|\n)*?)<\/p>/", $text, $p);
//print_r($p);
if ($p[0] == null) echo 'マッチしませんでした';
else {
	for ($i=0; $i < count($p[0]); $i++) {
		echo $i+1 . "番目にヒットしたpタグ\n\t" . $p[0][$i] . "\n";
		echo $i+1 . "番目にヒットしたpタグの属性\n\t" . $p[1][$i] . "\n";
	}
}
?>

これで

1番目にヒットしたpタグ
	<p style="text-align: right;">てすと</p>
1番目にヒットしたpタグの属性
	 style="text-align: right;"
2番目にヒットしたpタグ
	<p style="text-align: center; margin-left: 40px;">てすと</p>
2番目にヒットしたpタグの属性
	 style="text-align: center; margin-left: 40px;"
3番目にヒットしたpタグ
	<p style="margin-left: 120px; text-align: left;">てすと</p>
3番目にヒットしたpタグの属性
	 style="margin-left: 120px; text-align: left;"
4番目にヒットしたpタグ
	<p style="margin-left: 80px;">てすと</p>
4番目にヒットしたpタグの属性
	 style="margin-left: 80px;"
5番目にヒットしたpタグ
	<p>てすと<br />
てすと</p>
5番目にヒットしたpタグの属性
	

となった。

print_rを使うと文字化けしてしまう。今までそんなことなかったのに・・・。

文字化けるのはIEでソースを見たとき。

ちなみ上のPHPソース内のコメントをはずし、IEでソースを見るとこうなる。

Array
(
    [0] => Array
        (
            [0] => <p style="text-align: right;">縺ヲ縺吶→</p>
            [1] => <p style="text-align: center; margin-left: 40px;">縺ヲ縺吶→</p>
            [2] => <p style="margin-left: 120px; text-align: left;">縺ヲ縺吶→</p>
            [3] => <p style="margin-left: 80px;">縺ヲ縺吶→</p>
            [4] => <p>縺ヲ縺吶→<br />
縺ヲ縺吶→</p>
        )

    [1] => Array
        (
            [0] =>  style="text-align: right;"
            [1] =>  style="text-align: center; margin-left: 40px;"
            [2] =>  style="margin-left: 120px; text-align: left;"
            [3] =>  style="margin-left: 80px;"
            [4] => 
        )

    [2] => Array
        (
            [0] => 縺ヲ縺吶→
            [1] => 縺ヲ縺吶→
            [2] => 縺ヲ縺吶→
            [3] => 縺ヲ縺吶→
            [4] => 縺ヲ縺吶→<br />
縺ヲ縺吶→
        )

    [3] => Array
        (
            [0] => ィ
            [1] => ィ
            [2] => ィ
            [3] => ィ
            [4] => ィ
        )

)
1逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー
	<p style="text-align: right;">縺ヲ縺吶→</p>
1逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー縺ョ螻樊&#128;ァ
	 style="text-align: right;"
2逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー
	<p style="text-align: center; margin-left: 40px;">縺ヲ縺吶→</p>
2逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー縺ョ螻樊&#128;ァ
	 style="text-align: center; margin-left: 40px;"
3逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー
	<p style="margin-left: 120px; text-align: left;">縺ヲ縺吶→</p>
3逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー縺ョ螻樊&#128;ァ
	 style="margin-left: 120px; text-align: left;"
4逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー
	<p style="margin-left: 80px;">縺ヲ縺吶→</p>
4逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー縺ョ螻樊&#128;ァ
	 style="margin-left: 80px;"
5逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー
	<p>縺ヲ縺吶→<br />
縺ヲ縺吶→</p>
5逡ェ逶ョ縺ォ繝偵ャ繝医@縺殫繧ソ繧ー縺ョ螻樊&#128;ァ
	

なんっだこりゃ。特に[3]に入ってるやつ。