0

如何使用 PHP 删除字符串开头(首字母应为字母数字)中的所有特殊字符?请

$String = "+&,你好+{+ +$world";

删除字符串开头的所有特殊字符后

字符串应该变成“Hello+{+ +$world”

帮我。

4

6 回答 6

2

尝试使用trim以获取更多信息,请参阅此http://php.net/manual/en/function.trim.php

要从字符串开头删除,您可以使用ltrim http://www.php.net/manual/en/function.ltrim.php

要从字符串末尾删除,您可以使用rtrim http://www.php.net/manual/en/function.rtrim.php

您的示例代码

$String = "+&,Hello+{+ +$world";
echo ltrim($String,"&+,");

您可以在 ltrim 中添加更多字符以从字符串的第一个中删除

于 2013-03-25T10:17:27.023 回答
2

这将替换开头不是字母数字的所有内容:

preg_replace('/^([^a-zA-Z0-9])*/', '', $string);

更新:

如果您需要在字符串的开头和结尾修剪非字母数字字符,请使用以下命令:

<?php

$string = "++&5Hello ++f s world6f++&ht6__)  ";

echo preg_replace('/(^([^a-zA-Z0-9])*|([^a-zA-Z0-9])*$)/', '', $string);
于 2013-03-25T10:34:10.577 回答
1
<?php
function string_cleaner($result)
{
    $result = strip_tags($result);
    $result = preg_replace('/[^\da-z]/i', ' ', $result);
    $result = preg_replace('/&.+?;/', '', $result); 
    $result = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $result);
    $result = preg_replace('|-+|', ' ', $result);
    $result = preg_replace('/_+/', ' ', $result);
    $result = preg_replace('/&#?[a-z0-9]+;/i','',$result);
    $result = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $result);
    $result = preg_replace('/^\W+|\W+$/', '', $result);
    $result = preg_replace('/\s+/', ' ', $result);
    $result = trim($result, ' ');
    return $result;
}
?>

<?php
echo string_cleaner($content);
?>
于 2013-03-25T10:26:28.697 回答
0

尝试这个

   preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $String);
于 2013-03-25T10:16:23.247 回答
0

使用修剪 - 这是一个内置功能: http: //php.net/manual/en/function.trim.php

于 2013-03-25T10:19:00.100 回答
0

我认为使用 ltrim 会更有用,因为您想在字符串的开头删除:http ://www.php.net/manual/en/function.ltrim.php

于 2013-03-25T10:20:21.153 回答