Обрезка строк пхп

D
На сайте с 28.06.2008
Offline
1101
362

Есть названия, которые хочу обрезать после таких конструкций:

,

(

-

и еще парочку. Т.е. нужно обрезать все что идет после включая указанные символы.

Как удобнее всего это сделать?

---------- Добавлено 23.07.2019 в 18:03 ----------

сам допер как сделать

$h1 = explode(",", $h1);
$h1 = explode(" -", $h1[0]);
$h1 = explode(" (", $h1[0]);
var_dump($h1[0]);
lutskboy
На сайте с 22.11.2013
Offline
172
#1

$text = preg_replace('#(.*?)[,\-\(]#iu', "\\1" , $text);

D
На сайте с 28.06.2008
Offline
1101
#2

А как сделать так чтобы те паттерны, которые я написал в 1 посте срабатывали только с 10 символа и дальше?

Чтобы они не трогали начало строки?

Doctor-Intelligent
На сайте с 06.02.2009
Offline
108
#3

strpos() попробуйте.

Типа так:


$pos = strpos($h1, '(', 10);
$h1 = substr($h1, 0, $pos);
PHP программист. Разработка и доработка сайтов. Telegram: https://t.me/mstebenkov (https://t.me/mstebenkov) Skype: live:mstebenkov
Samail
На сайте с 10.05.2007
Offline
361
#4
Dram:
А как сделать так чтобы те паттерны, которые я написал в 1 посте срабатывали только с 10 символа и дальше?

$h1 = preg_replace("/^(.{10,})[-,(].*$/ui", "$1", $h1);
D
На сайте с 28.06.2008
Offline
1101
#5

Samail, спасибо, то что нужно!

IL
На сайте с 20.04.2007
Offline
435
#6
Dram:
обрезать все что идет после "mit" но только если этот МИТ далее чем 20 символов от начала строки?

/^.{20,}mit(.*)/gs

https://regexr.com/4i0kg

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )

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