Как найти (и заменить) слова заглавными буквами из строки? - PullRequest
1 голос
/ 28 августа 2011
$string = "WORD is the first HEJOU is the Second BOOM is the Third";
$sring = str_replce('???', '???<br>', $string);
echo $string; // <br>WORD is the first <br>HEJOU is the Second <br>BOOM is the Third

Ну, иллюстрация говорит сама за себя. Я хочу выделить все слова заглавными буквами (не слова, начинающиеся с заглавной буквы) и заменить на что-то перед ним. Есть идеи?

Ответы [ 3 ]

4 голосов
/ 28 августа 2011
$string = "WORD is the first HEJOU is the Second BOOM is the Third";
$string = preg_replace("#\b([A-Z]+)\b#", "<br>\\1", $string);
echo $string;

OUTOUT
<br>WORD is the first <br>HEJOU is the Second <br>BOOM is the Third

Используемое регулярное выражение гласит:

\b - Match a word boundary, zero width
[A-Z]+ - Match any combination of capital letters 
\b - Match another word boundary
([A-Z]+) - Capture the word for use in the replacement

Затем в замене

\\1, replace with the captured group.
1 голос
/ 28 августа 2011

str_replace просто замените определенную строку на другую конкретную.Вы можете использовать preg_replace

print preg_replace('~\b[A-Z]+\b~','<br>\\0',$string);
0 голосов
/ 28 августа 2011

Используйте регулярные выражения

http://php.net/manual/en/function.preg-replace.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...