Php 删除字符串中的特殊字符
我目前正在这样做:Php 删除字符串中的特殊字符,php,html,special-characters,htmlspecialchars,Php,Html,Special Characters,Htmlspecialchars,我目前正在这样做: $a = 'some string with special characters'; $a = htmlentities($a); $a = trim(preg_replace('/&#?[a-z0-9]+;/i', '', $a)); 这是可行的,但我想知道是否有更有效的方法来做到这一点 它包含某些字符,如,我想删除这些字符 尝试utf8\u解码,或使用更多功能: $output = iconv("UTF-8", "ISO-8859-1//TRANSLIT",
$a = 'some string with special characters';
$a = htmlentities($a);
$a = trim(preg_replace('/&#?[a-z0-9]+;/i', '', $a));
这是可行的,但我想知道是否有更有效的方法来做到这一点
它包含某些字符,如,我想删除这些字符
尝试utf8\u解码
,或使用更多功能:
$output = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $input);
我之所以提出这个问题,是因为您看到的是编码问题,而不是“特殊字符”。您对特殊字符的定义是什么,为什么需要删除它们?@lvaroG.Vicario我正在抓取一个HTML页面,它包含某些字符,如
,我想删除这些字符。在这里查找答案@HenkdeJager,这与我正在做的完全相同。仅仅是为了破坏页面内容?你知道如何在phpQuery
中应用吗?更具体地说,我使用phpQuery::newDocumentFile
来刮取HTML页面。我记不起函数的名称,但这就是我要建议的。将“特殊字符”转换为类似的字符不会破坏原始文本。不知道。但是,如果某个地方有任何类型的编码设置,那么您应该将其设置为UTF-8(而不是在这个答案中使用代码-因为这个代码有点破坏性)。OP明确表示,他希望完全清除“特殊”字符(无论这意味着什么),而不是正确解码它们或转换为应用程序的编码。然而你有我的+1,因为我简直不敢相信他:)@lvaroG.Vicario Pfft,让我在那里担心!