さて、私は立ち往生しています。 PHP、正規表現。私は、文字列があります。空白で区切られた英数字の一致
Это кириллические 23 78these are56 45latin76 letters here98 85 буквы.
をそして私は<B>タグとラテン文字、数字、スペースを含むストリングを囲むためにpreg_replace()を使用します。
Этокириллические23 78theseが45latin76手紙here98 85буквыをare56:サブストリングが、単に言葉が、限り、次の単語はラテン文字が含まれているとして、単語の集合ではありません。
マイベストショットでした:
$text = 'Это кириллические 23 78these are56 45latin76 letters here98 85 буквы.';
$regex = "/\d*\p{Latin}+(\d|\s|\p{Latin})*/iu";
preg_replace($regex, '<b>$0</b>', $text);
しかし、それは "here98" だけでなく、次の "85" だけでなく、グラブ:
Этокириллические23 78theseは45latin76文字が85буквыをhere98 are56。
私はそれが正しい理由を理解していますが、正しいRegexを理解できません。
[A-z0-9]を試しましたか? – hjpotter92
@ TheJumpingFrog、[A-z0-9]はスペースを考慮していません。私はbla34 64blaのようなものを持っている必要があります。bla3464blaです。 –
'([A-z0-9] | \ s)'は空白を取りますか? – hjpotter92