我正在尝试创建一个允许我使用html标签但没有任何属性的代码。
这是我的代码:
$dom->loadHTML("<p>a</p>");
$post = $dom->saveHTML();
if (!preg_match("/<.+\s[^A-Za-z0-9]?>/", $post)) {
echo "matches";
}
由于某些原因,即使标签在属性中为空,我也会收到“匹配”消息。
答案 0 :(得分:0)
该模式与您问题中的HTML字符串不匹配,因为该模式要求后跟一个小字符的字符后跟一个空白字符。字符串中的HTML标记中没有空格,因此它不匹配,因此当您否定preg_match函数的结果时,将回显“匹配”。
如果您的HTML字符串为<p >a</p>
或<p>a</p >
,则它将分别匹配(<p >
和整个字符串)。希望这个答案能指出你正确的方向。