Php 将普通html字符串转换为有效的w3标准

Php 将普通html字符串转换为有效的w3标准,php,preg-replace,Php,Preg Replace,我想创建转换普通代码(html)到标准代码(w3) 即使你不是100%有效 这项工作的最佳模式是什么? function besterCode($htmlString){ $FINAL_OUT = $htmlString; $FINAL_OUT = str_replace('" >','">',$FINAL_OUT) ; $FINAL_OUT = str_replace('" >','">',$FINAL_OUT) ; preg_repl

我想创建转换普通代码(html)到标准代码(w3)

即使你不是100%有效

这项工作的最佳模式是什么?
function besterCode($htmlString){
    $FINAL_OUT = $htmlString;
    $FINAL_OUT = str_replace('" >','">',$FINAL_OUT) ;
    $FINAL_OUT = str_replace('" >','">',$FINAL_OUT) ;

    preg_replace(......)// what is best pattern >

    return $FINAL_OUT;
}

?>

如果我正确理解了您的问题,那么您正在尝试自动更正html。您可以尝试使用php扩展

$tidy = tidy_parse_string("<a href=''>sfdd");
$html = $tidy->html();
echo $html->value;
$tidy=tidy\u parse\u字符串(“

我不理解这些问题,你是说转换成HTML实体,像这样的---使用
['']\s*>
之类的东西,用
“>
替换它试图使用正则表达式解析无效的HTML是疯狂的,而编写软件试图修复损坏的HTML是一个巨大的工程(对于stackoverflow问题来说,范围太广)和(b)取决于大量猜测。例如,错误“div element not allowed here”应该如何修复?两个明显的解决方案是“将其移到其他地方”和“使用不同的元素”“,但是哪个,在哪里,或者什么?软件不知道作者想要表达什么,HTML应该告诉他们,但我们知道HTML是错误的。@Erfarforpoor你可以很好地格式化和美化你的HTML,但不需要按照W3C验证规则自动地用一段正则表达式重新构造它。
<html>
<head>
<title></title>
</head>
<body>
<a href=''>sfdd</a>
</body>
</html>