正如标题所说,当我使用strip_tags($text, "<a>...<others>")
并向$text
插入超链接时,我的输出为<a>
而不是<a href='...'>
。我怎样才能解决这个问题,或strip_tags
对此不够灵活?
谢谢!
$text = ucfirst($text);
$text = preg_replace('/\v+|\\\r\\\n/', '<br />', $text);
$allow = '<p><br><ul><ol><li><strong><img><em><a>';
$text = strip_tags($text, $allow);
// now, remove any suspect tags, etc.
preg_match_all("/<([^>]+)>/i", $allow, $allTags, PREG_PATTERN_ORDER);
输入$text
是:
<p>Lorum ipsum <a href="http://www.test.com">This is a test link</a>.</p>
答案 0 :(得分:0)
strip_tags删除所有html元素或<>
附带的任何内容。
来自manual:
strip_tags - 从字符串中删除HTML和PHP标记
示例:
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
输出:
Test paragraph. Other text
答案 1 :(得分:0)
它应该完全像你想要的那样工作。
$text = '<a href="http://www.someplace.com">link</a> <others>stuff</others>';
echo strip_tags($text,"<a>");
我留下了完整的<a>
标记:
<a href="http://www.someplace.com">link</a> stuff
更新:使用您在更新的问题中发布的代码,我在此处运行它仍然提供完整的<a>
标记输出。这些属性没有被删除。