0
コードからHTMLタグを取得したいのですが、開始タグと終了タグの間の文字列のみを指定します。PHPで正規表現を使用しているときにHTMLタグが一致しません
<?
$string = 'this is <em>first</em> test';
preg_match('/<.+?>/', $string, $matches);
echo '<pre>';
print_r($matches);
echo '</pre>';
?>
このコードは私に<em>
最初</em>
を与えるべきではなく、私は唯一の配列から事前に
感謝:)
それを行うための最善の方法は、正規表現を使用しないことです。 PHPでHTML/XMLをどのように解析して処理するのですか?(http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) –
' ''は前の文字/グループの1つ以上であり、 '?'は次の文字の最初のインスタンスでのマッチングを停止します。例えばあなたが '。+? 'をグループ化していれば、最初のキャプチャグループに' em'を入れていたはずです。グループ0はすべて一致しています。パーサーに行ってください。 – chris85
@AlexK。ありがとう。 – GhusiMushi