如何通过删除PHP中非字母的内容来清除字符串
假设我有一个html文档 如何删除文档中的所有内容 我想删除HTML标记 我想删除任何特殊字符 我想删除除字母以外的所有内容 并提取文本 谢谢您可以使用并完成以下操作:如何通过删除PHP中非字母的内容来清除字符串,php,html,Php,Html,假设我有一个html文档 如何删除文档中的所有内容 我想删除HTML标记 我想删除任何特殊字符 我想删除除字母以外的所有内容 并提取文本 谢谢您可以使用并完成以下操作: function clean($in) { // Remove HTML $out = strip_tags($in); // Filter all other characters return preg_replace("/[^a-z]+/i", "", $out); } [^a-z]将匹配
function clean($in)
{
// Remove HTML
$out = strip_tags($in);
// Filter all other characters
return preg_replace("/[^a-z]+/i", "", $out);
}
[^a-z]
将匹配除a到z以外的任何字符,+
符号指定它应匹配此类字符的任何序列长度,/i
-修饰符指定它是不区分大小写的搜索。所有匹配的字符都将替换为空字符串,只剩下剩下字符
如果您想保留空格,可以使用[^a-z]
,如果您还想保留数字[^a-z0-9]
。这允许您将所有允许的字符列入白名单,并放弃其余字符。您可以使用和来完成此操作:
function clean($in)
{
// Remove HTML
$out = strip_tags($in);
// Filter all other characters
return preg_replace("/[^a-z]+/i", "", $out);
}
[^a-z]
将匹配除a到z以外的任何字符,+
符号指定它应匹配此类字符的任何序列长度,/i
-修饰符指定它是不区分大小写的搜索。所有匹配的字符都将替换为空字符串,只剩下剩下字符
如果您想保留空格,可以使用[^a-z]
,如果您还想保留数字[^a-z0-9]
。这允许您将所有允许的字符列为白名单,并丢弃其余字符。先使用清除HTML,然后使用Emil H的正则表达式。先使用清除HTML,然后使用Emil H的正则表达式。
$in = preg_replace("/<[^>]*>/", "", $in);
$in=preg\u replace(“/]*>/”,“”,$in);
到Emil H的解决方案,这样你的标签就会被条纹化。否则,“Hello World”将显示为“Phellowordp”在a前面
$in = preg_replace("/<[^>]*>/", "", $in);
$in=preg\u replace(“/]*>/”,“”,$in);
到Emil H的解决方案,这样你的标签就会被条纹化。否则,一个“Hello World”将显示为“Phellowordp”,虽然它回答了标题中的问题,但它不会删除html标记,而正文表明他希望删除这些标记……没错。请参见Jeremys的答案。虽然这回答了标题中的问题,但它并没有删除html标记,而正文表明他希望删除这些标记……没错。见杰里米的答案。