/
文字列内の文字が常に両側に1つのスペースで埋められるようにしたいのです。
現在使用しているPHPのstr_replace
場合、スペースの数に関係なくすべてのシナリオを保証することはできません。
$original = "Yes/No";
echo str_replace("/", " / ", $original) . "\n";
echo str_replace(" /", " / ", $original) . "\n";
echo str_replace("/ ", " / ", $original) . "\n";
str_replace
関数に渡した最初のパラメーター/引数は、周囲の文字を考慮していないため、間違っていることを知っています。
これが私が達成したいいくつかの例です:
Original Desired
==============================
"Yes/No" ---------> "Yes / No"
"Yes / No" -------> "Yes / No"
"Yes/ No" --------> "Yes / No"
"Yes /No" --------> "Yes / No"
"Yes / No" -----> "Yes / No"
私は使用に傾いてregex
いますが、それらの使用方法がわかりません。
考えてみると、スペースを折りたたむことでできるのではないでしょうか。わからない。
この正規表現ベースの置換を使用できます。
$original = preg_replace('~\h*/\h*~', ' / ', $original);
つまり、両側の可変空白を一致させ/
、次のように置き換えます' / '
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加