Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以吗;“固定”;使用PHP错误放置HTML标记?_Php_Html - Fatal编程技术网

我可以吗;“固定”;使用PHP错误放置HTML标记?

我可以吗;“固定”;使用PHP错误放置HTML标记?,php,html,Php,Html,有没有一种快速简便的方法来修复web文档中错误放置的HTML标记?例如: <strong><span style="border:1px;">Text</strong></span> /\ /\ |______________________________________| 文本 /\ /\ |

有没有一种快速简便的方法来修复web文档中错误放置的HTML标记?例如:

<strong><span style="border:1px;">Text</strong></span>
   /\                                    /\
   |______________________________________|
文本
/\                                    /\
|______________________________________|
所以它看起来像:

<strong><span style="border:1px;">Text</span></strong>
文本

编辑:您建议使用HTML修复程序,但我要寻找的是函数类型解决方案。如果你认为这是BBcode,那会有帮助吗?code>[b][u]Text[\b][\u]计算机如何知道您的意思是让
span
位于
strong
内部,还是相反

“快速简便的方法”是通过HTML验证程序运行文档,然后使用noggin和键盘修复文档识别的问题。

您可以使用或,但修复并不简单,因此您永远无法确定结果是否符合预期。文档中的示例:

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

我认为最好的解决方案是使用,效果非常好:

演示:


可以完美地处理您的输入。

它适用于一个简单的示例,如本例,但我确实有更复杂的结构,并且在这些结构上失败。@Matt有许多HTML修复程序,请查看它们。如果没有一些使用htmlpurifier不起作用的例子,就很难推荐另一个。优先考虑第一个打开的标记将是一个好的开始,即使它在标记方面会失败,但无论如何都会起作用