加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读