Используя PHP, задайте строку, такую как: this is a <strong>string</strong>
; Мне нужна функция, чтобы вырезать ВСЕ теги html, чтобы выход был следующим: this is a string
. Есть идеи? Заранее спасибо.
PHP имеет встроенную функцию, которая делает именно то, что вы хотите: strip_tags
$text = '<b>Hello</b> World'; print strip_tags($text); // outputs Hello World
Если вы ожидаете выхода из строя HTML, вам нужно будет загрузить его в DOM-парсер, а затем извлечь текст.
Как насчет использования strip_tags , который должен выполнять только работу?
Например, (цитируя документ) :
<?php $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; echo strip_tags($text); echo "\n";
дам тебе :
Test paragraph. Other text
Изменить: но обратите внимание, что strip_tags не подтверждает, что вы ему даете. Это означает, что этот код:
$text = "this is <10 a test"; var_dump(strip_tags($text));
Вы получите:
string 'this is ' (length=8)
(Все после того, как вещь, похожая на стартовую метку, удаляется).
strip_tags
– это функция, которой вы strip_tags
. Вы использовали бы это что-то вроде этого
$text = '<strong>Strong</strong>'; $text = strip_tags($text); // Now $text = 'Strong'
Я считаю, что это немного более эффективно, чем strip_tags () , поскольку strip_tags () не будет блокировать javascript или css:
$search = array( "'<head[^>]*?>.*?</head>'si", "'<script[^>]*?>.*?</script>'si", "'<style[^>]*?>.*?</style>'si", ); $replace = array("","",""); $text = strip_tags(preg_replace($search, $replace, $html));