2012-02-21 11 views

答えて

0

ことが可能.isすることが、この試みる:正規表現の手段

$output = preg_replace('/([^ ])-([^ ])/', '\\1 \\2', $input); 
echo $output; 

1つの空白以外の文字[^ ]、その後にハイフンが続き、別の空白以外の文字が続きます場所パターンは、の最初の空白以外の文字が\\1に一致し、その後に空白が続き、2番目の空白以外の文字が\\2に一致することを意味します。

0

正規表現/(?!)-(?!)/が必要です。

3

これはあまりにも(demo

echo preg_replace('(\b-\b)', ' ', 'to-be-or-not - to be'); 

\bは、単語の境界と一致して動作します。文字列の先頭または末尾にダッシュを一致させる必要がある場合は、これは機能しません。 -foo-bar--foo bar-になります。

関連する問題