-1

このコードを使用して、このタグ間のすべてを削除していますが、実現できません。ここで何が欠けていますか?

$str ='<tr class="main_row pc">
    <td class="details">
        <a href="./view/4135660/"><span class="p_t">Fiat Cinquecento </span></a>
        <a class="info" href="./view/4135660/">(Info)</a><br>
        <div class="attribs">16345, <span class="p_l">Blue</span>, Phone 6914576304
        </div>
    </td>
</tr>';


$str = preg_replace('#(<tr class="main_row pc">).*?(</tr>)#', '$1$2', $str);
4

3 に答える 3

0

改行と一致するsように、修飾子を使用する必要があります。.

$str = preg_replace('#(<tr class="main_row pc">).*?(</tr>)#s', '$1$2', $str);
于 2013-09-24T17:28:07.477 に答える
0

コメントですでに気になっているように、それは悪い考えですが、パターン修飾子が必要です。具体的には、改行文字を一致sさせるためです。.そう:

preg_replace('#(<tr class="main_row pc">).*(</tr>)#s', '$1$2', $str);

少なくとも上記のコードに従って、必要なことを行います。

于 2013-09-24T17:28:46.697 に答える
0

RegEx のドットを改行にも一致させるには、 s PCRE修飾子を設定する必要があります。

于 2013-09-24T17:29:26.443 に答える