2015-09-24 4 views
0

Как заменить следующее необязательное слово/выражение из заданной строки в php?Заменить необязательное слово/выражение из строки в php

Учитывая строку - Client Side: ABC Client или Client Side : XYZ Client

Теперь я хочу заменить выражение из данного слова - Client Side: или Client Side : Разница между ними обоими в том, что одно слово заканчивается двоеточием $word: и другой концы с дополнительным пространством и colon $word :

Так как я могу написать regeX для решения этой проблемы. ? Я пробовал с str_replace, но это было бы несколько str_replace для этого. Я хочу, чтобы чистый и простой regeX использовал preg_replace, чтобы заменить данное выражение.

ответ

0

Для решения этой проблемы вы можете использовать preg_replace.

$string = "Client Side: ABC System"; //either this string or 2nd string 
$string = "Client SideL : XYZ System"; 

preg_replace("/Client Site[ ]*[:]/", '', $string) 

объяснение параметров используется -

/Client Side  # Start searching with this word 
[ ]     # An optional blank space parameter 
*     # Any number of occurrence of blank space 
[:]     # Replace colon when it occurs 

для краткого описания параметров, пожалуйста, обратитесь к следующей URL - http://www.hackingwithphp.com/4/8/6/regular-expression-syntax-examples

1

Вы можете просто использовать следующее регулярное выражение

preg_replace('/\bClient Side\s?:\B/','',$str); 

Здесь я 've used \bClient Side\s?:\B regex. В этом регулярном выражении \s? проверит для дополнительного пространства, если да, то также его матчи GET и если нет, то и это будет соответствовать заданной строке вместе с границами слова

Regex

Demo

+0

Почему вы используете ' \ B' после толстой кишки? – Toto

+0

Для границ @Toto –

+0

Да, конечно, но я не вижу здесь полезности. – Toto

Смежные вопросы