私は次のコードを持っています:
<?php echo strip_tags($firstArticle->introtext); ?>
$firstArticle は stdClass オブジェクトです。
object(stdClass)[422]
public 'link' => string '/maps101/index.php?option=com_content&view=article&id=57:greenlands-newest-iceberg&catid=11:geography-in-the-news' (length=125)
public 'text' => string 'GREENLAND'S NEWEST ICEBERG' (length=26)
public 'introtext' => string '<p>A giant chunk of ice calved off the Petermann Glacier on
the northwest side of Greenland this summer. At nearly 100 square miles (260
sq. km) in size, four times the size of Manhattan, th' (length=206)
public 'date' =>
object(JDate)[423]
public '_date' => int 1284130800
public '_offset' => int 0
public '_errors' =>
array
empty
$firstArticle->introtext が文字列を参照していることがわかります。
「<p>
この夏、グリーンランドの北西側にあるピーターマン氷河から巨大な氷の塊が分離しました。サイズは約 100 平方マイル (260 平方キロメートル) で、マンハッタンの 4 倍の大きさです。」
この<p>
アプリケーションではタグが問題ですが、strip_tags はタグの削除を絶対に拒否しており、その理由がわかりません。私は実際に strip_tags をあきらめ、代わりに正規表現 /<(.|\n)*?>/ で preg_replace を実行しようとしました:
preg_replace('/<(.|\n)*?>/', '', $firstArticle->introtext);
しかし、それもうまくいきませんでした!この文字列を出力するときに、この文字列からすべての HTML タグ (一致するかどうかに関係なく) を削除するにはどうすればよいですか?