-1

私がやっていることは非常にばかげた間違いです。実際には html で、私はたくさんの

<li class="MsoNormal" style="margin:0in 0in 0pt">
            <span style="font-family:'Calibri','sans-serif';font-size:11pt">May be required to work extra hours at month end to meet monthly deadlines. .</span>
 </li>

これらすべてのタグをLI、スパンなどに置き換えたいので、出力は次のようになります

"- 毎月の締め切りに間に合わせるために、月末に余分な時間の作業が必要になる場合があります。."

私はこのコードを使用しています

$a = preg_replace('/(<li[^>]*><span[^>]*>)(.*?)(<\/span><\/li>)/imsU',"-$2",$a);

しかし、それは機能していません。提案してください。

前もって感謝します

4

2 に答える 2

1

試しましたstrip_tags()か?それはあなたが望むことをする簡単な方法だと思います...

于 2012-07-20T12:39:48.967 に答える
0

正規表現に存在しない改行があります。特にタグ間。正しい正規表現は次のようになります。

$a = preg_replace('/(<li[^>]*>(?:[\s]*)<span[^>]*>)(.*?)(<\/span>(?:[\s]*)<\/li>)/imsU', "-$2", $a);

?:は 2 番目の試合を残すためにここにいます。(これは非キャプチャ グループ化と呼ばれます)

于 2012-07-20T12:21:06.270 に答える