Как обычно, регулярное выражение не идеально подходит для анализа HTML; вполне возможно, что вам лучше использовать настоящий HTML-парсер.
Это говорит ...
$noattributes = preg_replace('/<(\w+) [^>]+>/', '<$1>', $original);
... заменит любые открывающие теги, которые содержат атрибуты, соответствующими тегами без атрибутов. Однако он может также случайно попасть в «теги», содержащиеся в атрибутах других тегов, заключенных в кавычки (и, таким образом, в действительности не сами теги). Это также вызовет проблемы с самозакрывающимися тегами (заменит <br />
на <br>
) - хотя этого можно избежать, если у самозакрывающихся тегов нет пробела между именем тега и косой чертой. 1008 *