2016-05-17 6 views
0

PHPの文字列を修正してアンカータグとして使用したいと考えています。PHP - 角かっこと特殊文字の削除

私はここで見つける方法使用:それは私の文字列からアンパサンドを削除するにはうまく働いたが、それはブラケットや句読点を削除するか、影響されていないようRemove all special characters from a string

を。

は、ここで私が現在使用してんだよ:

$name_clean = preg_replace('/ [^A-Za-z0-9\-]/', '', $name); // REMOVES SPECIAL CHARACTERS 
$name_slug = str_replace(' ', '-', $name_clean); // REPLACES SPACES WITH DASHES IN TITLE 
$link = strtolower($name_slug); // CREATES LOWERCASE SLUG VERSION OF TITLE_SLUG 

私の文字列(この場合は$名で)=セントジョンズ(ニューファンドランド)。

私は=#セント-john'snewfoundlandを得る出力)

私は完全にピリオド、アポストロフィやかっこを削除したいです。

ご協力いただければ幸いです!

+0

正規表現の先頭スペースは意図的ですか? – apokryfos

+0

元々、私が影響を与えようとしていた唯一の文字は常にスペースを追ったアンパサンドでした。いくつかの調整を加えて、私はそれを動作させることができました。ありがとう! –

答えて

2

正規表現のパターン/ [^A-Za-z0-9\-]/には、開封後にスペースが含まれているように見えます。/このパターンは、スペースの後に来る特殊文字にのみ一致します。そのスペースを削除すると、必要な結果が得られます。

+0

Aha!有難うございます。 –

関連する問題