2016-07-30 5 views
-4

Предположим, у меня есть эта строка:Как удалить конкретные письма от каждого слова в строке - PHP

Hello World Hello My World

Я хочу удалить первые 3 символа во всей строке (но только если слово начинается с «Hel»). Вывод должен быть:

вот Мир вот Мой Мир

Можно ли рекомендовать решение для этого?

+0

Так что вы пробовали, Есть много решений ... non из них - ракетостроение – RiggsFolly

+1

Stack Overflow - это не бесплатная служба написания кода, пожалуйста, покажите свой код/​​усилие и какова фактическая проблема. – Rizier123

ответ

1

Простое решение с использованием preg_replace функции:

$str = "Hello World Hello My World"; 
print_r(preg_replace("/\bHel/", "", $str)); // "lo World lo My World" 

Дополнительный подход к условию , чтобы удалить «ДДС» от каждого слова (только если он появляется в конце слова):

print_r(preg_replace("/rld\b/", "", $str)); // Hello Wo Hello My Wo 
+0

Как насчет того, хочу ли я удалить «rld» из каждого слова (только если оно появляется в конце слова)? // Получить вывод, как «Hello Wo Hello My Wo» –

+0

@ChintanJain, см. Мое обновление – RomanPerekhrest

+0

@ chris85, да, я только что вспомнил, что он должен начинаться только с «Hel» – RomanPerekhrest

0

Вы можете использовать функцию str_replace.

Пример

$output = str_replace(' Hel', ' ', $string); 

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

+0

@ chris85 my bad, changed – DevNiels

+0

На полпути, тем не менее, для начала слова не нужно начинать слово с 'Hel'. Например, перейдите в 'CHello'. – chris85

1

Вы можете использовать следующий код:

$str = "Hello World Hello My World"; 
$arr = explode(" ",$str); 
    for ($i = 0; $i <count($arr); $i++) 
    { 
     if (substr($arr[$i], 0, 3) === "Hel") 
     { 
     $arr[$i] = str_replace("Hel","",$arr[$i]); 
     } 
    } 
$outputstr = implode(" ",$arr); 

Что это делает, что он разрезает строку в массив различных слов и затем в в цикле я заменяю Hel на ничего, поэтому это приведет к удалению Hel, и они будут уничтожать массив назад в строку ... Это будет проверять, если Хель находится в начале, а затем заменит ...

Надеется, что это помогает ... :)

+0

Хорошо, работаю над этим тоже –

+0

Сделано, что тоже бро ... :) @ chris85 –

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