Замена строки в PHP - PullRequest
       9

Замена строки в PHP

3 голосов
/ 28 апреля 2010

Это мой первый вопрос на этом замечательном сайте.

Допустим, у меня есть строка $a="some text..%PROD% more text" В строке будет только один %..%. Мне нужно заменить PROD между % другим переменным содержимым. Так я делал:

$a = str_replace('%PROD%',$var,$a);

но теперь PROD между % начали приходить в разных случаях. Так что я мог ожидать Prod или Prod. Поэтому я сделал всю строку в верхнем регистре, прежде чем делать замену. Но побочным эффектом является то, что другие буквы в исходной строке также стали заглавными. Кто-то предложил мне использовать регулярные выражения. Но как?

Спасибо

Rohan

Ответы [ 3 ]

10 голосов
/ 28 апреля 2010

Вы можете использовать функцию str_ireplace . Он похож на str_replace , но нечувствителен к регистру при сопоставлении.

$x = 'xxx';
$str = 'abc %Prod% def';
$str = str_ireplace('%PROD%',$x,$str); // $str is now "abc xxx def"
4 голосов
/ 28 апреля 2010

Просто используйте str_ireplace(). Это версия str_replace() без учета регистра и гораздо более эффективная для простой замены, чем регулярные выражения (также гораздо более простая).

3 голосов
/ 28 апреля 2010

Вы можете использовать регулярное выражение, но PHP также имеет удобную без учета регистра версию str_replace, str_ireplace

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