У меня есть следующий код:
<?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 кв. км), в четыре раза превышающая размер Манхэттена,
Тег <p>
является проблемой для меня в этом приложении, однако strip_tags абсолютно отказывается удалить его, и я не могу понять, почему. Я фактически отказался от strip_tags и попытался сделать preg_replace вместо этого с regex /<(.|\n)*?>/:
preg_replace('/<(.|\n)*?>/', '', $firstArticle->introtext);
Но это тоже не сработало! Как я могу удалить все теги HTML (совпадающие или нет) из этой строки при ее выводе?
пытаться:
<?php echo strip_tags(html_entity_decode($firstArticle->introtext)); ?>
очень любопытно, что strip-tags не работает ….
возможно, ваш «<p>» закодирован в htmlentity? например "& lt; p & gt;" (посмотрите исходный код страницы)
otehrwise это заменит все теги, также закодированные htmlentity, но почти очевидно, что этот p-тег просто закодирован в htmlentity, поэтому сначала попробуйте это …
preg_replace('/(?:<|<).*?(?:>|>)/', '', $firstArticle->introtext);
В моем случае я должен использовать htmlspecialchars_decode($str);
, html_entity_decode($firstArticle->introtext)
, похоже, не работает для меня.
Иногда мне приходится сначала использовать htmlentities
.
$txt = htmlentities($txt, null, 'utf-8'); $txt = htmlspecialchars_decode($txt);