我偶尔会收到用户的意见,他们正在使用那些恼人的stikethrough文本生成器而且它会破坏我的代码。
我已经尝试了一些我在这里找到的代码......
$string = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $string);
它有效,但我只需要替换组合的长笔画叠加层。
http://www.fileformat.info/info/unicode/char/0336/index.htm
然而,单独将此添加到我的正则表达式并不能解决问题。它一无所获。
帮助!
答案 0 :(得分:2)
我不确定这是否完全有效,但对于我测试的内容,它会删除删除线。
感谢@Jonny 5提及\xCC\xB6
$text = "s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶";
$st = "\xCC\xB6";/*seems to work best even with other alphabets*/
/*[chr(204), chr(182)];#add others if necessary?*/
var_dump($text);
if(preg_match("#[" . $st . "]#", $text)){/*preg_match("#[" . implode('|', $st) . "]#", $text)*/
$text = str_replace($st, '', $text);
}
var_dump($text);