Mam te przykładowe struny

"<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>"
"<b style='color:white; background-color:red'>FAILED</b>"

I chciałbym pozbyć się całego formatowania HTML, więc rozumiem to

"FAILED - NOT ENOUGH STEPS PERFORMED"
"FAILED"

Myślę, że pozbycie się znaków „mniej niż” i „większego niż” i wszystkiego między nimi wystarczy. Wiem, że mógłbym użyć do tego preg_replace, ale nie jestem do końca pewien, jakiego formatu użyć.

php
0
mtijn 30 sierpień 2012, 11:36

2 odpowiedzi

Najlepsza odpowiedź

Myślałem o czymś wzdłuż linii:

$code = "<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>";
echo strip_tags($code);

Wspomniany wyżej kod wypisze:

FAILED - NOT ENOUGH STEPS PERFORMED

Bez jakiejkolwiek stylizacji, chyba że stylizacja jest dziedziczona z elementu rodzica.

funkcja strip_tags jest najłatwiejszą i najskuteczniejszą metodą usuwania wszystkich znaczniki w HTML. Celem preg_replace jest usunięcie lub zmiana szerszej gamy symboli, takich jak zmiana czegokolwiek zaczynającego się od „a” lub czegoś podobnego, podczas gdy celem strip_tags jest w szczególności oczyszczanie danych wejściowych HTML – co najprawdopodobniej musisz zrobić tak czy siak.

6
Lucas 31 sierpień 2012, 10:12

strip_tags() wydaje się być właściwą drogą. preg_replace może to zrobić, ale uczynienie go niezawodnym byłoby dość skomplikowane.

1
Lucas Green 30 sierpień 2012, 11:38