php – 关闭不完整的href标签
发布时间:2020-12-13 16:54:05 所属栏目:PHP教程 来源:网络整理
导读:我正试图关闭这种字符串: $link = 'Hello,welcome to a href="www.stackoverflow.com';echo $link; 如何修复不完整的href标签?我希望它是: $link = 'Hello,welcome to a href="www.stackoverflow.com"/a'; // no value between a tag is alright. 我不想
我正试图关闭这种字符串:
$link = 'Hello,welcome to <a href="www.stackoverflow.com'; echo $link; 如何修复不完整的href标签?我希望它是: $link = 'Hello,welcome to <a href="www.stackoverflow.com"></a>'; // no value between <a> tag is alright. 我不想使用strip_tags()或htmlentities(),因为我希望它显示为工作链接. 解决方法
不是很擅长正则表达式,但你可以使用DOMDocument做一个解决方法.例:
$link = 'Hello,welcome to <a href="www.stackoverflow.com'; $output = ''; $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadHTML($link); libxml_clear_errors(); // the reason behind this is the HTML parser automatically appends `<p>` tags on lone text nodes,which is weird foreach($dom->getElementsByTagName('p')->item(0)->childNodes as $child) { $output .= $dom->saveHTML($child); } echo htmlentities($output); // outputs: // Hello,welcome to <a href="www.stackoverflow.com"></a> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |