如何使用<;-带strip_tag?I';我试着前后转换符号,但没有成功


How to use <- with strip_tags? I've tried converting the symbols before and after with no luck

好的。。。我知道<-不能从strip_tags中排除使用允许的标签,但我正在尝试使用变通方法。这种变通方法可以很好地处理一开始就不是有效HTML的字符集,例如<lt;或<~然而,当我使用下面的代码来转换<-或->到处理strip_tag之前的数字,然后从数字返回<-以及->之后。但每当这些符号出现时,所有HTML都会被删除,或者不被处理。我知道我不能通过允许的标签让它单独存在,这就是为什么我在strip_tags之前转换它,然后再转换回来。。。但是它几乎就像strip_Tags仍然移除它,即使它在strip_Tags所在的行之后被转换回来,因为它移除<-把一切都做对……有什么想法或其他方法可以尝试吗?我也尝试过定义<-作为&lt;—,并尝试用其他符号替换它,例如#-但不管怎样,我都会得到相同的结果。

我还应该提到<-和->不一起使用,它们用于指向文本中的内容。像intert<-拼写错误。

`<?php 
$data = file_get_contents("test.html");
$data = str_replace("<-", "999", $data);
$data = str_replace("->", "998", $data);
$data = strip_tags($data, '');
$data = str_replace("999", "<-", $data);
$data = str_replace("998", "->", $data);
echo $data;
?>`

我正在收集样本数据,并意识到如果我删除了样本HTML的一大块,一切都会很好,事实证明,如果我自己去掉实际的HTML注释(如<!-- Header //-->(,转换就会很好,所以我将寻找一个正则表达式匹配,以在转换之前删除HTML注释和条形标记。

更新

我使用下面的代码首先删除了HTML注释,这取得了成功。谢谢你的帮助。

`$data = preg_replace('/<!--(.*)-->/', '', $data);`

更新:

$string = "<div>words words wrods <- words words</div>";
$string = str_replace('<-', '&lt;-', $string);
echo strip_tags($string);

输出(来源(:

words words wrods &lt;- words words

输出(HTML(:

words words wrods <- words words