0

PHPを使用して文字列のstart(最初の文字は英数字である必要があります)のすべての特殊文字を削除するにはどうすればよいですか?お願いします

$ String = "+&、Hello + {+ + $ 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 に答える