8

<p>以下は、タグを削除する必要があるテキストです

<p> Addiction, stress and subjective wellbeing</p> 
<p> The need and significance of traditional shop lot pavements in the context of town conservation in Malaysia</p> 
<p> The role of wage and benefit in engaging employee commitment</p>

私はこれを試しました

$title= preg_replace('#<p>(.*?)</p>#', '', $title['result']);**

しかし、まだ<p>タグを取得しています。何かアイデアはありますか?

4

7 に答える 7

21

<p>タグとそのすべてのコンテンツをキャッチするには、この正規表現を使用する必要があります。

'/<p\b[^>]*>(.*?)<\/p>/i'

<p>タグとそのすべてのコンテンツをキャッチして削除するための実例:

$title = "<div>Text to keep<p class='classExample'>Text to remove</p></div>";
$result = preg_replace('/<p\b[^>]*>(.*?)<\/p>/i', '', $title);
echo $result;

Codepadでライブデモをご覧ください

正規表現を使用してHTMLを解析する場合は、これを行うことはできません。

ここであなたの問題についてもっと読んでください:PHPでHTML / XMLをどのように解析して処理しますか?

于 2012-08-26T14:36:50.970 に答える
6

pタグを削除するだけで、これを行うことができます

$text=str_ireplace('<p>','',$text);
$text=str_ireplace('</p>','',$text);    
于 2012-08-26T14:40:13.873 に答える
6

試す:

<p>タグのみを削除したい場合

$html = "
<p> Addiction, stress and subjective wellbeing</p> 
<p> The need and significance of traditional shop lot pavements town</p> 
<p> The role of wage and benefit in engaging employee commitment</p>
";

echo strip_tags($html);

<p>タグとそのタグを削除したい場合content

$html = preg_replace('#\<p>[{\w},\s\d"]+\</p>#', "", $html);
于 2014-06-19T08:43:36.830 に答える
2

すべてのマークアップを削除する必要がある場合は、 strip_tags()を使用してください。

于 2012-08-26T14:39:31.440 に答える