如何通过删除PHP中非字母的内容来清除字符串

如何通过删除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]将匹配

假设我有一个html文档

如何删除文档中的所有内容

我想删除HTML标记

我想删除任何特殊字符

我想删除除字母以外的所有内容

并提取文本

谢谢

您可以使用并完成以下操作:

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标记,而正文表明他希望删除这些标记……没错。见杰里米的答案。