2016-02-25 4 views
-1

У меня есть этот массивPHP: как удалить определенную часть строки в массиве

$address[] = $row['name'].",".$row['locality_name'].",".$row['city_name'] 

Выход

Ashirwad Estate, Goregaon (ж), Мумбаи

Я хочу удалить строку (w) с вывода

Как следует Я использую функцию с $row['locality_name'], чтобы обрезать/удалить это?

+0

Можете ли вы опубликовать некоторые более соответствующие входы и ожидаемые результаты. На данный момент вы можете использовать 'str_replace' здесь. –

+0

Какие функции я могу использовать и как ... ?? –

+0

выход - Ashirwad Estate, Goregaon-West, Mumbai та же функция также должна быть в состоянии удалить '-west' с выхода –

ответ

1

Это более общий ответ

$row['locality_name'] = preg_replace("/\(.*\)/", "", $row['locality_name']); 

или лучше

$address[] = sprintf(
    "%s,%s,%s", 
    $row['name'], 
    preg_replace("/\(.*\)/", "", $row['locality_name']), 
    $row['city_name'] 
); 

Regex объяснение

\(// escapes open bracket 
.* // matches every char from zero to infinite times 
\) // escapes closing bracket 
+0

Это выиграло ' t работа с такими строками, как «Ashirwad Estate», «Goregaon» (w), Мумбаи (запад) », это приводит к« Ashirwad Estate, Goregaon' вместо «Ashirwad Estate», Goregaon, Mumbai' –

+0

Я думаю, вы забыли рассмотреть «пространство» '. :) –

+0

@ Утиха имя города только Goregaon (w) – DonCallisto

0

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

\s*(\([^)]+\)|\-\w+) 

Так что ваш код выглядит, как

echo preg_replace("/\s*(\([^)]+\)|\-\w+)/","","Ashirwad Estate, Goregaon (w), Mumbai"); 
+0

, так что я получу выход из этого Ashirwad Estate, Горегаон, Мумбаи для этого Аширвад-Эстейт, Горегаон (штат), Мумбаи, и даже если это похоже на это Аширвад-Эстейт, Горегаон-Вест, Мумбаи –

+0

Нет, это удалит те символы, которые пришли между 'paranthesis()', а не с ' -words' –

+0

Я обновил свой ответ @PrathameshSarang –

1
$toRemove = array("(w)","(W)","(West)","(west)"); 
$row['locality_name'] = str_replace($toRemove, "", $row['locality_name']); 
Смежные вопросы