Как в строке вырезать все после определенного слова

MS
На сайте с 26.04.2008
Offline
59
15616

Привет всем!

Подскажите пли как в строке $str

вырезать все после определенного слова. например

$str = "hello! how are you";

как вырезать регулярным выражением все после слова "how"

C
На сайте с 04.02.2005
Offline
291
#1

$str = "hello! how are you";
$str_new = explode('how', $str );
echo $str_new[0].'how';
T
На сайте с 20.03.2007
Offline
67
Toy
#2

preg_replace('#^(.*?how)(.*)$#is', $1, $str)

Так попробуйте, негде проверить, поэтому могу опечататься

C
На сайте с 04.02.2005
Offline
291
#3

Mac-style, вы моему коду не верьте - он не совсем корректен.

T
На сайте с 20.03.2007
Offline
67
Toy
#4

Chukcha, если наверняка знать что искомая комбинация встречается один раз, я бы сделал вашим способом.

MS
На сайте с 26.04.2008
Offline
59
#5

Toy а что значит переменная $1?

Mac-style добавил 06.09.2011 в 17:45

Toy

Спасибо тебе, но конкретно твой приме не работает, но он мне дал сильный талчек !

вот идеал:

preg_replace("/(how)(.*)/","",$str);

Вырезает вместе с how

T
На сайте с 20.03.2007
Offline
67
Toy
#6
Toy а что значит переменная $1?

Эта переменная хранит текст первого кармана (.*?how)

gormarket
На сайте с 29.12.2010
Offline
47
#7

Mac-style, пример приведенный Toy работает, только нужно $1 заключить в кавычки

$str=preg_replace('#^(.*?how)(.*)$#is', '$1', $str);

или так можно

$str=preg_replace('#^(.*?how)(.*)$#is', '\\1', $str);

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
C
На сайте с 04.02.2005
Offline
291
#8
Mac-style:

Вырезает вместе с how

explode как раз оставит все до how.

RM
На сайте с 21.06.2011
Offline
77
#9

А что мешает сделать так?

$data = strstr($str, 'how');

$data = str_repalce("how", "", $data);

Так вроде быстрее будет.

C
На сайте с 28.01.2010
Offline
70
#10
Mac-style:

вот идеал:
preg_replace("/(how)(.*)/","",$str);

Вырезает вместе с how
RoMaN444Ik:
А что мешает сделать так?
$data = strstr($str, 'how');

$data = str_repalce("how", "", $data);

Так вроде быстрее будет.

Будет работать неправильно, если how - часть слова, а не отдельное слово.

Это - личная подпись. Здесь обычно ставят ссылки на всякие кривые сайты, надеясь получить "жирный бек".

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий