Как удалить все после того, как ключевое слово найдено? - PullRequest
0 голосов
/ 14 февраля 2012

Как я могу использовать preg_replace для удаления всего после соответствия ключевого слова?

Например, если ключевое слово local соответствует приведенной ниже строке,

home/hello/local/flower/stone/...

затем верните только это,

home/hello

или я могу использовать любую функцию массива php по умолчанию?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

В зависимости от того, что вы хотите сделать, простой strpos + strlen может добиться цели.

<?php

$string = "hello/local/flower/stone/...";
$keyword = "local";

echo substr($string, 0, strpos($string, $keyword));

?>

http://ideone.com/3OOq8

Будьте осторожны, я предположил, что у вас всегда будет ключевое слово в строке, это может быть не так.


Ресурсы:

0 голосов
/ 14 февраля 2012
<?php
$str = 'hello/local/flower/stone/...';
$find = 'local';
$replaced = preg_replace("#(.*?{$find}).*#", '$1', $str);
var_dump($replaced);
?>
...