如何使用PHP检查textarea的值中是否包含HTML?

如何使用PHP检查textarea的值中是否包含HTML?,php,html,textarea,Php,Html,Textarea,如何使用PHP检查textarea的值中是否包含HTML 我读过多篇文章,我尝试了以下方法: if ($text != strip_tags($text)) // text contains html 并尝试 if (preg_match("/([\<])([^\>]{1,})*([\>])/i", $string)) { echo "string contains html"; } if(preg\u匹配(“/([\]{1,})*([\>])/i”,

如何使用PHP检查textarea的值中是否包含HTML

我读过多篇文章,我尝试了以下方法:

if ($text != strip_tags($text))
    // text contains html
并尝试

if (preg_match("/([\<])([^\>]{1,})*([\>])/i", $string)) { 
    echo "string contains html"; 
} 
if(preg\u匹配(“/([\]{1,})*([\>])/i”,$string)){
echo“字符串包含html”;
} 
还有其他一些正则表达式。但所有的结果都是一样的如果我在文本区域中只输入一行(不带html)并验证它,则表示没有html如果我输入更多行(即使没有html标记),它会说有html标记,但没有。是否有透明的

?即使在回显/验证字符串时,也不会显示html标记

为什么当我在一个文本区域中有多行没有html字符时,它会自动地说有?是否有其他方法验证文本区域中是否有html标记

谢谢大家!

使用类似于:

    $string_checked = str_replace("<", "#LESSTHAN#", $string);

$string\u checked=str\u replace(“您尝试过类似的方法吗

if($text!=htmlspecialchars($text))
{ echo 'This contains HTML tags!!'; }

这与换行无关。

如果在文本区域中输入更多行,“包装器”将添加一个(不可见的)回车符,因此会在文本中添加一个不可见的html代码。请尝试使用下面的包装方法之一,看看它是否有效

<textarea name="userInput" cols="40" rows="6" wrap="virtual"></textarea>


尝试将wrap方法设置为:virual、hard、soft、physical或off

为什么要查看文本区域中是否有HTML标记?因为要删除它们?我想阻止用户在文本区域中输入HTML标记。因为不是每个人都在侦听,我想回显“错误”“输入html标记时的消息。之后,我将剥离_标记()…我确信问题与\n\r
^M有关…因为当我在javascript中计算字符数时,我得到的字符数与php中的字符数不一样。php计算那些br或\n\r
^M…我以为是换行符,但即使我删除了所有换行符,即使没有换行符,它仍然会检测html标记。您使用的是哪种方法ried
var\u dump
是否在
if
条件中检查每个操作数的输出以检查其值?
<textarea name="userInput" cols="40" rows="6" wrap="virtual"></textarea>