preg_replace 関数を使用します。アポストロフィ ( ' ) 文字を削除しない機能が必要です。だから私はそれが (o'clock) として単語を返すことを望みます。どうやってやるの?
$last_word = "o'clock.";
$new_word= preg_replace('/[^a-zA-Z0-9 ]/','',$last_word);
echo $new_word;
preg_replace 関数を使用します。アポストロフィ ( ' ) 文字を削除しない機能が必要です。だから私はそれが (o'clock) として単語を返すことを望みます。どうやってやるの?
$last_word = "o'clock.";
$new_word= preg_replace('/[^a-zA-Z0-9 ]/','',$last_word);
echo $new_word;
試す:
$last_word = "o'clock.";
$new_word= preg_replace('/[^a-zA-Z0-9\' ]/','',$last_word);
echo $new_word;
デモはこちら: http://ideone.com/JMH8F
これを試して。それは役立つかもしれません。
$new_word= preg_replace('/\'/', '', $last_word);
その正規表現は、文字と数字を除くすべての文字を明示的に削除します。先頭の「^」に注意してください。だから、あなたが頼んだことをします。
そのため、正規表現内の除外セットに "'" (アポストロフィ) を追加する可能性が最も高くなります。
'/[^a-zA-Z0-9\' ]/'
オリジナル'/[^a-zA-Z0-9 ]/'
を に変更します"/[^a-zA-Z0-9 ']/"
。これは単に、否定された文字クラスにアポストロフィを含めるだけです。
オンラインの例を参照してください。
"o'clock."
余談ですが、バックスラッシュ エスケープと PHP 文字列や正規表現パターンを混在させるとすぐに混乱する可能性があるため、文字列に二重引用符を使用することをお勧めします ( の場合と同様)。
使用する正規表現は、「'」(アポストロフィ) を削除しません。代わりに、「.」が原因で、件名の文字列とはまったく一致しません。(ドット)。その場合、preg_replace() は NULL を返します。